Поделиться через


Идентификация функций в библиотеках DLL

Идентичность функции библиотеки DLL состоит из следующих элементов:

  • Имя функции или порядковый номер

  • Имя DLL-файла, в котором можно найти реализацию

Например, указание функции MessageBox в User32.dll определяет функцию (MessageBox) и его расположение (User32.dll, User32 или user32). Интерфейс программирования приложений Microsoft Windows (API Windows) может содержать две версии каждой функции, обрабатывающей символы и строки: 1-байтовую версию ANSI и 2-байтовую версию Юникода. Если не указано, набор символов, представленный CharSet полем, по умолчанию использует ANSI. Некоторые функции могут иметь более двух версий.

MessageBoxA — это точка входа ANSI для функции MessageBox ; MessageBoxW — это версия Юникода. Вы можете перечислить имена функций для определенной библиотеки DLL, например user32.dll, выполнив различные средства командной строки. Например, можно использовать dumpbin /exports user32.dll или link /dump /exports user32.dll получить имена функций.

Вы можете переименовать неуправляемую функцию в любое, что вам нравится в коде, если вы сопоставляете новое имя с исходной точкой входа в библиотеке DLL. Инструкции по переименованию неуправляемой функции DLL в управляемом исходном коде см. в разделе "Указание точки входа".

Вызов функций платформы позволяет контролировать значительную часть функций операционной системы, вызывая функции из API Windows и других DLL. Помимо API Windows, существует множество других API и библиотек DLL, доступных для вас через вызов платформы.

В следующей таблице описано несколько часто используемых библиотек DLL в API Windows.

DLL (динамическая библиотека) Описание содержимого
GDI32.dll Функции интерфейса графического устройства (GDI) для выходных данных устройства, например для управления рисунками и шрифтами.
Kernel32.dll Низкоуровневые функции операционной системы для управления памятью и обработки ресурсов.
User32.dll Функции управления Windows для обработки сообщений, таймеров, меню и обмена данными.

Полную документацию по Windows API можно увидеть в SDK платформы. Примеры, демонстрирующие, как создавать объявления на основе .NET для использования с вызовом платформы, см. в разделе «Маршаллирование данных с помощью вызова платформы».

См. также