Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Эта функция может быть изменена или удалена из Windows без дальнейшего уведомления.]
Функция обратного вызова уведомлений, указанная с помощью функции LdrRegisterDllNotification. Загрузчик вызывает эту функцию при первой загрузке библиотеки DLL.
Предупреждение
Это небезопасно для обратного вызова уведомлений для вызова функций в любом другом модуле, отличном от самого себя.
Синтаксис
VOID CALLBACK LdrDllNotification(
_In_ ULONG NotificationReason,
_In_ PCLDR_DLL_NOTIFICATION_DATA NotificationData,
_In_opt_ PVOID Context
);
Параметры
-
NotificationReason [in]
-
Причина, по которой была вызвана функция обратного вызова уведомления. Этот параметр может быть одним из следующих значений.
Ценность Значение - LDR_DLL_NOTIFICATION_REASON_LOADED
- 1
Библиотека DLL была загружена. Параметр NotificationData указывает на структуру LDR_DLL_LOADED_NOTIFICATION_DATA. - LDR_DLL_NOTIFICATION_REASON_UNLOADED
- 2
Библиотека DLL была выгружена. Параметр NotificationData указывает на структуру LDR_DLL_UNLOADED_NOTIFICATION_DATA. -
NotificationData [in]
-
Указатель на константный союз LDR_DLL_NOTIFICATION, содержащий данные уведомления. Этот союз имеет следующее определение:
typedef union _LDR_DLL_NOTIFICATION_DATA { LDR_DLL_LOADED_NOTIFICATION_DATA Loaded; LDR_DLL_UNLOADED_NOTIFICATION_DATA Unloaded; } LDR_DLL_NOTIFICATION_DATA, *PLDR_DLL_NOTIFICATION_DATA;Структура LDR_DLL_LOADED_NOTIFICATION_DATA имеет следующее определение:
typedef struct _LDR_DLL_LOADED_NOTIFICATION_DATA { ULONG Flags; //Reserved. PCUNICODE_STRING FullDllName; //The full path name of the DLL module. PCUNICODE_STRING BaseDllName; //The base file name of the DLL module. PVOID DllBase; //A pointer to the base address for the DLL in memory. ULONG SizeOfImage; //The size of the DLL image, in bytes. } LDR_DLL_LOADED_NOTIFICATION_DATA, *PLDR_DLL_LOADED_NOTIFICATION_DATA;Структура LDR_DLL_UNLOADED_NOTIFICATION_DATA имеет следующее определение:
typedef struct _LDR_DLL_UNLOADED_NOTIFICATION_DATA { ULONG Flags; //Reserved. PCUNICODE_STRING FullDllName; //The full path name of the DLL module. PCUNICODE_STRING BaseDllName; //The base file name of the DLL module. PVOID DllBase; //A pointer to the base address for the DLL in memory. ULONG SizeOfImage; //The size of the DLL image, in bytes. } LDR_DLL_UNLOADED_NOTIFICATION_DATA, *PLDR_DLL_UNLOADED_NOTIFICATION_DATA; -
контекст [в, необязательно]
-
Указатель на контекстные данные для функции обратного вызова.
Возвращаемое значение
Эта функция обратного вызова не возвращает значение.
Замечания
Функция обратного вызова уведомления вызывается до того, как происходит динамическое связывание.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент |
Windows Vista [только классические приложения] |
| Минимальный поддерживаемый сервер |
Windows Server 2008 [только классические приложения] |
См. также