Compartilhar via


Função de retorno de chamada LdrDllNotification

[Essa 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.

Aviso: Não é seguro para a função de retorno de chamada de notificação chamar funções em qualquer DLL.

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. Esse parâmetro pode usar um dos valores a seguir.

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 [in]

Um ponteiro para uma união de LDR_DLL_NOTIFICATION constante que contém dados de notificação. Essa 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 retornado

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 da vinculação dinâmica ocorrer.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]

Confira também

LdrRegisterDllNotification

LdrUnregisterDllNotification