Замена 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.

 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz