다음을 통해 공유


LdrDllNotification 콜백 함수

[이 함수는 추가 공지 없이 Windows에서 변경되거나 제거될 수 있습니다.]

LdrRegisterDllNotification 함수로 지정된 알림 콜백 함수입니다. 로더는 DLL이 처음 로드될 때 이 함수를 호출합니다.

경고: 알림 콜백 함수가 모든 DLL에서 함수를 호출하는 것은 안전하지 않습니다.

구문

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

매개 변수

NotificationReason [in]

알림 콜백 함수가 호출된 이유입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
LDR_DLL_NOTIFICATION_REASON_LOADED
1
DLL이 로드되었습니다. NotificationData 매개 변수는 LDR_DLL_LOADED_NOTIFICATION_DATA 구조를 가리킵니다.
LDR_DLL_NOTIFICATION_REASON_UNLOADED
2
DLL이 언로드되었습니다. NotificationData 매개 변수는 LDR_DLL_UNLOADED_NOTIFICATION_DATA 구조를 가리킵니다.

 

NotificationData [in]

알림 데이터를 포함하는 상수 LDR_DLL_NOTIFICATION 공용 구조체에 대한 포인터입니다. 이 공용 구조체에는 다음과 같은 정의가 있습니다.

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 구조체에는 다음 정의가 있습니다.

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 구조체에는 다음과 같은 정의가 있습니다.

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;

컨텍스트 [in, optional]

콜백 함수의 컨텍스트 데이터에 대한 포인터입니다.

반환 값

이 콜백 함수는 값을 반환하지 않습니다.

설명

알림 콜백 함수는 동적 연결이 발생하기 전에 호출됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]

추가 정보

LdrRegisterDllNotification

LdrUnregisterDllNotification