delayloadhandler.h (1106B) - Raw
1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __delayloadhandler_h__ 7 #define __delayloadhandler_h__ 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 #if NTDDI_VERSION >= NTDDI_WIN8 14 15 #define DELAYLOAD_GPA_FAILURE 4 16 17 typedef struct _DELAYLOAD_PROC_DESCRIPTOR { 18 ULONG ImportDescribedByName; 19 union { 20 LPCSTR Name; 21 ULONG Ordinal; 22 } Description; 23 } DELAYLOAD_PROC_DESCRIPTOR, *PDELAYLOAD_PROC_DESCRIPTOR; 24 25 typedef struct _DELAYLOAD_INFO { 26 ULONG Size; 27 PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor; 28 PIMAGE_THUNK_DATA ThunkAddress; 29 LPCSTR TargetDllName; 30 DELAYLOAD_PROC_DESCRIPTOR TargetApiDescriptor; 31 PVOID TargetModuleBase; 32 PVOID Unused; 33 ULONG LastError; 34 } DELAYLOAD_INFO, *PDELAYLOAD_INFO; 35 36 37 typedef PVOID (WINAPI *PDELAYLOAD_FAILURE_DLL_CALLBACK)(ULONG NotificationReason,PDELAYLOAD_INFO DelayloadInfo); 38 39 extern PDELAYLOAD_FAILURE_DLL_CALLBACK __pfnDliFailureHook2; 40 41 #endif 42 43 #ifdef __cplusplus 44 } 45 #endif 46 #endif