| /** | 
 |  * This file has no copyright assigned and is placed in the Public Domain. | 
 |  * This file is part of the mingw-w64 runtime package. | 
 |  * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
 |  */ | 
 | #ifndef __delayloadhandler_h__ | 
 | #define __delayloadhandler_h__ | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | #if NTDDI_VERSION >= NTDDI_WIN8 | 
 |  | 
 | #define DELAYLOAD_GPA_FAILURE 4 | 
 |  | 
 | typedef struct _DELAYLOAD_PROC_DESCRIPTOR { | 
 |   ULONG ImportDescribedByName; | 
 |   union { | 
 |     LPCSTR Name; | 
 |     ULONG Ordinal; | 
 |   } Description; | 
 | } DELAYLOAD_PROC_DESCRIPTOR, *PDELAYLOAD_PROC_DESCRIPTOR; | 
 |  | 
 | typedef struct _DELAYLOAD_INFO { | 
 |   ULONG Size; | 
 |   PCIMAGE_DELAYLOAD_DESCRIPTOR DelayloadDescriptor; | 
 |   PIMAGE_THUNK_DATA ThunkAddress; | 
 |   LPCSTR TargetDllName; | 
 |   DELAYLOAD_PROC_DESCRIPTOR TargetApiDescriptor; | 
 |   PVOID TargetModuleBase; | 
 |   PVOID Unused; | 
 |   ULONG LastError; | 
 | } DELAYLOAD_INFO, *PDELAYLOAD_INFO; | 
 |  | 
 |  | 
 | typedef PVOID (WINAPI *PDELAYLOAD_FAILURE_DLL_CALLBACK)(ULONG NotificationReason,PDELAYLOAD_INFO DelayloadInfo); | 
 |  | 
 | extern PDELAYLOAD_FAILURE_DLL_CALLBACK __pfnDliFailureHook2; | 
 |  | 
 | #endif | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 | #endif |