Dela via


Återanropsfunktion för LdrDllNotification

[Den här funktionen kan ändras eller tas bort från Windows utan ytterligare meddelande.]

En återanropsfunktion för meddelanden har angetts med funktionen LdrRegisterDllNotification. Inläsaren anropar den här funktionen när en DLL läses in först.

Varning

Det är osäkert för återanropet av meddelanden att anropa funktioner i någon annan modul än sig själv.

Syntax

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

Parametrar

NotificationReason [in]

Anledningen till att återanropsfunktionen för meddelanden anropades. Den här parametern kan vara ett av följande värden.

Värde Betydelse
LDR_DLL_NOTIFICATION_REASON_LOADED
1
DLL:en lästes in. Parametern NotificationData pekar på en LDR_DLL_LOADED_NOTIFICATION_DATA struktur.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
DLL:en togs bort. Parametern NotificationData pekar på en LDR_DLL_UNLOADED_NOTIFICATION_DATA struktur.

 

NotificationData [in]

En pekare till en konstant LDR_DLL_NOTIFICATION union som innehåller meddelandedata. Den här unionen har följande definition:

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;

Den LDR_DLL_LOADED_NOTIFICATION_DATA strukturen har följande definition:

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;

Den LDR_DLL_UNLOADED_NOTIFICATION_DATA strukturen har följande definition:

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;

Context [in, optional]

En pekare till kontextdata för återanropsfunktionen.

Returvärde

Den här återanropsfunktionen returnerar inte något värde.

Anmärkningar

Återanropsfunktionen för meddelanden anropas innan dynamisk länkning sker.

Krav

Krav Värde
Lägsta klient som stöds
Windows Vista [endast skrivbordsappar]
Lägsta server som stöds
Windows Server 2008 [endast skrivbordsappar]

Se även

LdrRegisterDllNotification

LdrUnregisterDllNotification