Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Вопрос по совместимости DLL использующих API


Автор: BorisMQL4 29.9.2009, 15:57
Всем Привет!

В своих DLL, для работы с файлами использую следующие функции:

Код

int _lopen  (string path, int of);
int _lcreat (string path, int attrib);
int _llseek (int handle, int offset, int origin);
int _lread  (int handle, string buffer, int bytes);
int _lwrite (int handle, string buffer, int bytes);
int _lclose (int handle);
int GetWindowsDirectoryA (string lpBuffer, int nSize);


На Windows XP все DLL работают хорошо.

Вопрос: Будут ли работать DLL использующие выше приведенные функции в таких системах как Windows Vista и Windows 7 ?

Спасибо!

Автор: SenkraD 29.9.2009, 16:14
ну это от Microsoft зависит - будут они супортить функции, которые
вы используете в своём проекте, или нет. Пока с MSDN имеем такое
по функциям работы с файлами, которые вы указали:
Код
The Microsoft run-time library supports American National Standards Institute (ANSI) C and UNIX C. In this documentation, references to UNIX include XENIX, other UNIX-like systems, and the POSIX subsystem in Windows 2000, Windows XP, Windows Server 2003, and Windows Vista. The description of each run-time library routine includes a compatibility section for the following targets.

- ANSI
- ISO C 95
- Windows 2000
- Windows XP
- Windows Server 2003
- Windows Vista

All run-time library routines included with this product are compatible with the Windows API.
 и, согластно реквайрементов, тоже касается GetWindowsDirectory.

Единственно, что пока не ясно будет ли это супортится 7-кой (вероятность
отриуцательно суппорта очень мала,  так много софта завязано на эти функции)

Автор: BorisMQL4 29.9.2009, 16:34
Спасибо за быстрый ответ!

В WinХР эти функции доступны из системной DLL "kernel32.dll", о том как это будет работать в WinVista и Win7 мне не ясно.

Следующие вопросы для тех кто лично знаком с этой темой (проблемой).

Работают ли все остальные функции из "kernel32.dll", на WinVista и Win7 ?

Существует ли перечень тех функций которые не будут поддерживаться в Vista и 7 ?

Так как тех функций которые должны поддерживаться думаю должно быть несоизмеримо больше чем тех от которых отказались в Microsoft, иначе их новые шедевры программистской мысли станут покупать гораздо меньше.

Автор: SenkraD 29.9.2009, 16:53
BorisMQL4,  для каждой функции API на странице справки есть отделы Requirements или Compability.
по опыту, могу сказать что в Viste всё это пахало, когда я занимался сиспрограммированием под Win.

Проблеммы с совместимостью появляются на уровне драйвером, а всё юзер API пока супортится - потому, что слишком много
на него завязано - не многие могут позволить полностью переписывать боевые продукты с нуля


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)