Bagikan melalui


Fungsi panggilan balik LdrDllNotification

[Fungsi ini dapat diubah atau dihapus dari Windows tanpa pemberitahuan lebih lanjut.]

Fungsi panggilan balik pemberitahuan yang ditentukan dengan fungsi LdrRegisterDllNotification. Loader memanggil fungsi ini ketika DLL pertama kali dimuat.

Peringatan

Tidak aman bagi panggilan balik pemberitahuan untuk memanggil fungsi di modul lain selain itu sendiri.

Sintaksis

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

Parameter

NotificationReason [in]

Alasan bahwa fungsi panggilan balik pemberitahuan dipanggil. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Arti
LDR_DLL_NOTIFICATION_REASON_LOADED
1
DLL dimuat. Parameter NotificationData menunjuk ke struktur LDR_DLL_LOADED_NOTIFICATION_DATA.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
DLL dibongkar. Parameter NotificationData menunjuk ke struktur LDR_DLL_UNLOADED_NOTIFICATION_DATA.

 

NotificationData [in]

Pointer ke penyatuan LDR_DLL_NOTIFICATION konstanta yang berisi data pemberitahuan. Serikat ini memiliki definisi berikut:

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;

Struktur LDR_DLL_LOADED_NOTIFICATION_DATA memiliki definisi berikut:

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;

Struktur LDR_DLL_UNLOADED_NOTIFICATION_DATA memiliki definisi berikut:

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;

Konteks [dalam, opsional]

Penunjuk ke data konteks untuk fungsi panggilan balik.

Mengembalikan nilai

Fungsi panggilan balik ini tidak mengembalikan nilai.

Komentar

Fungsi panggilan balik pemberitahuan dipanggil sebelum penautan dinamis terjadi.

Persyaratan

Syarat Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]

Lihat juga

LdrRegisterDllNotification

LdrUnregisterDllNotification