Função de retorno de chamada LdrDllNotification

[Esta função pode ser alterada ou removida do Windows sem aviso prévio.]

Uma função de retorno de chamada de notificação especificada com a função LdrRegisterDllNotification. O carregador chama essa função quando uma DLL é carregada pela primeira vez.

Advertência

Não é seguro para o retorno de chamada de notificação chamar funções em QUALQUER outro módulo que não seja ele mesmo.

Sintaxe

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

Parâmetros

NotificationReason [in]

O motivo pelo qual a função de retorno de chamada de notificação foi chamada. Este parâmetro pode ser um dos seguintes valores.

Valor Significado
LDR_DLL_NOTIFICATION_REASON_LOADED
1
A DLL foi carregada. O parâmetro NotificationData aponta para uma estrutura LDR_DLL_LOADED_NOTIFICATION_DATA.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
A DLL foi descarregada. O parâmetro NotificationData aponta para uma estrutura LDR_DLL_UNLOADED_NOTIFICATION_DATA.

 

NotificationData [em]

Um ponteiro para uma união de LDR_DLL_NOTIFICATION constante que contém dados de notificação. Esta união tem a seguinte definição:

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;

A estrutura LDR_DLL_LOADED_NOTIFICATION_DATA tem a seguinte definição:

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;

A estrutura LDR_DLL_UNLOADED_NOTIFICATION_DATA tem a seguinte definição:

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;

Contexto [in, opcional]

Um ponteiro para dados de contexto para a função de retorno de chamada.

Valor de retorno

Essa função de retorno de chamada não retorna um valor.

Comentários

A função de retorno de chamada de notificação é chamada antes que a vinculação dinâmica ocorra.

Requerimentos

Exigência Valor
Cliente mínimo suportado
Windows Vista [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado
Windows Server 2008 [apenas aplicações de ambiente de trabalho]

Ver também

LdrRegisterDllNotification

LdrUnregisterDllNotification