| /** |
| * 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 |