LdrDllNotification geri çağırma işlevi

[Bu işlev daha fazla bildirimde bulunmaksızın değiştirilebilir veya Windows'tan kaldırılabilir.]

LdrRegisterDllNotification işleviyle belirtilen bir bildirim geri çağırma işlevi. Bir DLL ilk kez yüklendiğinde yükleyici bu işlevi çağırır.

Uyarı

Bildirim geri çağrısının kendisinden başka herhangi bir modüldeki işlevleri çağırması güvenli değildir.

Sözdizimi

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

Parametre

NotificationReason [in]

Bildirim geri çağırma işlevinin çağrılma nedeni. Bu parametre aşağıdaki değerlerden biri olabilir.

Değer Anlam
LDR_DLL_NOTIFICATION_REASON_LOADED
1
DLL yüklendi. NotificationData parametresi LDR_DLL_LOADED_NOTIFICATION_DATA bir yapıya işaret etti.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
DLL kaldırıldı. NotificationData parametresi LDR_DLL_UNLOADED_NOTIFICATION_DATA bir yapıyı gösterir.

 

NotificationData [in]

Bildirim verilerini içeren sabit bir LDR_DLL_NOTIFICATION birleşimine işaretçi. Bu birleşim aşağıdaki tanıma sahiptir:

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 yapısı aşağıdaki tanıma sahiptir:

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 yapısı aşağıdaki tanıma sahiptir:

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;

Bağlam [in, isteğe bağlı]

Geri çağırma işlevi için bağlam verilerine yönelik bir işaretçi.

Dönüş değeri

Bu geri çağırma işlevi bir değer döndürmez.

Açıklamalar

Dinamik bağlama gerçekleşmeden önce bildirim geri çağırma işlevi çağrılır.

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci
Windows Vista [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu
Windows Server 2008 [yalnızca masaüstü uygulamaları]

Ayrıca bkz.

LdrRegisterDllNotification

LdrUnregisterDllNotification