Здравствуйте Lelik, Вы писали:
L>У меня возник вопрос по поводу криптографии, и использования L>функций CAPI в программах на С++.
CAPI!=CryptoAPI, не путай.
L>Вопрос такой: L>Если я пытаюсь вызвать какую угодно CryptoAPI функцию, компилятор L>выдаёт ошибку, что типа неизвеный идентификатор, хотя все библиотеки L>подключены. Может надо какой символ препроцессора объявить, или ещё что?
Здравствуйте!
У меня возник вопрос по поводу криптографии, и использования
функций CAPI в программах на С++.
Вопрос такой:
Если я пытаюсь вызвать какую угодно CryptoAPI функцию, компилятор
выдаёт ошибку, что типа неизвеный идентификатор, хотя все библиотеки
подключены. Может надо какой символ препроцессора объявить, или ещё что?
Здравствуйте The Lex, Вы писали:
TL>Здравствуйте Lexey, Вы писали:
L>>#define _WIN32_WINNT 0x500 перед инклюдами.
TL>Это значит, что CryptoAPI можно использовать только в Win NT 5.0, оно же Win 2000?
Можно использовать где хочеш. В MSDN где то было написано по этому поводу.
Здравствуйте Dima2, Вы писали:
D>Здравствуйте The Lex, Вы писали:
TL>>Здравствуйте Lexey, Вы писали:
L>>>#define _WIN32_WINNT 0x500 перед инклюдами.
TL>>Это значит, что CryptoAPI можно использовать только в Win NT 5.0, оно же Win 2000?
D>Можно использовать где хочеш. В MSDN где то было написано по этому поводу.
Да нет, не факт. Эти дефайники похоже для того и вводятся, чтобы "отсекать лишние функции"...
Здравствуйте Dima2, Вы писали:
D>Здравствуйте The Lex, Вы писали:
TL>>Да нет, не факт. Эти дефайники похоже для того и вводятся, чтобы "отсекать лишние функции"...
D>Какие такие лишние. D>Я например писал D>
А я хотел писать TryEnterCriticalSection(...), так оная компилируется только с #define _WIN32_WINNT 0x0400 и в документации чистым английским языком написано:
Requirements Windows NT/2000 or later: Requires Windows NT 4.0 or later. Windows 95/98/Me: Unsupported.
А требования для программы были: работать везде, в т.ч. и под Win 95. Так может эти дефайники все же неспроста?
Здравствуйте The Lex, Вы писали:
TL>А я хотел писать TryEnterCriticalSection(...), так оная компилируется только с #define _WIN32_WINNT 0x0400 и в документации чистым английским языком написано:
TL>Requirements TL> Windows NT/2000 or later: Requires Windows NT 4.0 or later. TL> Windows 95/98/Me: Unsupported.
TL>А требования для программы были: работать везде, в т.ч. и под Win 95. Так может эти дефайники все же неспроста?
Чтой-то я не пойму каким макаром TryEnterCriticalSection связана с CryptoAPI.
Если TryEnterCriticalSection не поддерживается в 95/98/Me, то и не применяй ее
там причем тут CryptoAPI.
Здравствуйте Dima2, Вы писали:
D>Чтой-то я не пойму каким макаром TryEnterCriticalSection связана с CryptoAPI. D>Если TryEnterCriticalSection не поддерживается в 95/98/Me, то и не применяй ее D>там причем тут CryptoAPI.
RTFM: (Microsoft Platform SDK, February 2001 Edition)
— Using the SDK Headers
(...\MSDN\sdkintro.chm:/hh/html/usage_8xgz.htm)
— INFO: Using _WIN32_WINNT with the Platform SDK Header Files
(...\MSDN\kbwindev.chm:/Source/win32sdk/q169088.htm)
У меня, правда, локальная установка MSDN, поэтому ссылки вам придется скорректировать. Ну, я думаю, что вы сами с усами (я например ношу усы ) и сможете это сделать.
А статьи эти я нашел, просто набрав в "Поиск" _WIN32_WINNT. Вот так вот...