LdrDllNotification-Rückruffunktion

[Diese Funktion kann ohne weitere Ankündigung geändert oder Windows entfernt werden.]

Eine Benachrichtigungsrückruffunktion, die mit der LdrRegisterDllNotification-Funktion angegeben wird. Das Lader ruft diese Funktion auf, wenn eine DLL zum ersten Mal geladen wird.

Warnung: Es ist unsicher, ob die Benachrichtigungsrückruffunktion Funktionen in einer beliebigen DLL aufruft.

Syntax

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

Parameter

NotificationReason [ In]

Der Grund, aus dem die Benachrichtigungsrückruffunktion aufgerufen wurde. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
LDR _ _ _ DLL-BENACHRICHTIGUNGSGRUND _ GELADEN
1
Die DLL wurde geladen. Der NotificationData-Parameter verweist auf eine BENACHRICHTIGUNGSDATENstruktur, die von der _ LDR-DLL _ _ _ geladen wurde.
LDR _ DLL _ NOTIFICATION _ REASON _ UNLOADED
2
Die DLL wurde entladen. Der NotificationData-Parameter verweist auf eine LDR _ DLL _ UNLOADED NOTIFICATION _ _ DATA-Struktur.

NotificationData [ In]

Ein Zeiger auf eine konstante LDR _ DLL _ NOTIFICATION-Union, die Benachrichtigungsdaten enthält. Diese Union hat die folgende 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;

Die STRUKTUR LDR _ DLL _ LOADED NOTIFICATION _ _ DATA hat die folgende 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;

Die STRUKTUR DER _ _ ENTLADENEN BENACHRICHTIGUNGSDATEN der _ LDR-DLL _ hat die folgende 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;

Kontext [ in, optional]

Ein Zeiger auf Kontextdaten für die Rückruffunktion.

Rückgabewert

Diese Rückruffunktion gibt keinen Wert zurück.

Hinweise

Die Benachrichtigungsrückruffunktion wird aufgerufen, bevor die dynamische Verknüpfung erfolgt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur [ Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]

Weitere Informationen

LdrRegisterDllNotification

LdrUnregisterDllNotification