Замена API в Microsoft Layer for Unicode
Есть также способ заменить и любой API, который находится в библиотеке UnicoWS.dll. Чтобы заменить API, просто добавьте нижеследующее к вашему исходному коду:
#ifdef _cplusplus extern "C" { #endif extern FARPROC Unicows_<имя API> = (FARPROC) // <API,которую вы хотите вызвать // для Microsoft Layer for Unicode> #ifdef _cplusplus } #endif |
Вы должны сделать это на уровне модуля.
Обратите внимание! на то, что имя API учитывает регистр и включает в себя суффикс "W" для всех "декорированных" API. Если эта переменная устанавливается, то Microsoft Layer for Unicode использует ваш API вместо такого же в UnicoWS.dll. |
Примечание переводчика: "декорированное" имя API ( в C++ - генерируемая компилятором строка, содержащая, кроме собственно имени, символы, используемые компилятором или компоновщиком для получения информации о типе).
Пример этой процедуры, см. в статье Типовой код замены API в Microsoft Layer for Unicode.