LdrDllNotification, funkcja wywołania zwrotnego

[Ta funkcja może zostać zmieniona lub usunięta z systemu Windows bez dodatkowego powiadomienia.]

Funkcja wywołania zwrotnego powiadomień określona z funkcją LdrRegisterDllNotification. Moduł ładujący wywołuje tę funkcję po pierwszym załadowaniu biblioteki DLL.

Ostrzeżenie

Wywołanie zwrotne powiadomień jest niebezpieczne w przypadku wywoływania funkcji w dowolnym innym module niż sam.

Składnia

VOID CALLBACK LdrDllNotification(
  _In_     ULONG                       NotificationReason,
  _In_     PCLDR_DLL_NOTIFICATION_DATA NotificationData,
  _In_opt_ PVOID                       Context
);

Parametry

NotificationReason [in]

Przyczyna wywoływania funkcji wywołania zwrotnego powiadomień. Ten parametr może być jedną z następujących wartości.

Wartość Znaczenie
LDR_DLL_NOTIFICATION_REASON_LOADED
1
Biblioteka DLL została załadowana. Parametr NotificationData wskazuje strukturę LDR_DLL_LOADED_NOTIFICATION_DATA.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
Biblioteka DLL została zwolniona. Parametr notificationData wskazuje strukturę LDR_DLL_UNLOADED_NOTIFICATION_DATA.

 

NotificationData [in]

Wskaźnik do stałej LDR_DLL_NOTIFICATION unii zawierającej dane powiadomień. Ta unia ma następującą definicję:

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;

Struktura LDR_DLL_LOADED_NOTIFICATION_DATA ma następującą definicję:

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;

Struktura LDR_DLL_UNLOADED_NOTIFICATION_DATA ma następującą definicję:

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;

kontekst [in, opcjonalnie]

Wskaźnik do danych kontekstowych funkcji wywołania zwrotnego.

Wartość zwracana

Ta funkcja wywołania zwrotnego nie zwraca wartości.

Uwagi

Przed rozpoczęciem łączenia dynamicznego wywoływana jest funkcja wywołania zwrotnego powiadomień.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows Vista [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2008 [tylko aplikacje klasyczne]

Zobacz też

LdrRegisterDllNotification

LdrUnregisterDllNotification