/** * 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. */ #define _DELAY_IMP_VER 2 #if defined(__cplusplus) #define ExternC extern "C" #else #define ExternC extern #endif typedef IMAGE_THUNK_DATA *PImgThunkData; typedef const IMAGE_THUNK_DATA *PCImgThunkData; typedef DWORD RVA; typedef struct ImgDelayDescr { DWORD grAttrs; RVA rvaDLLName; RVA rvaHmod; RVA rvaIAT; RVA rvaINT; RVA rvaBoundIAT; RVA rvaUnloadIAT; DWORD dwTimeStamp; } ImgDelayDescr,*PImgDelayDescr; typedef const ImgDelayDescr *PCImgDelayDescr; enum DLAttr { dlattrRva = 0x1 }; enum { dliStartProcessing,dliNoteStartProcessing = dliStartProcessing,dliNotePreLoadLibrary,dliNotePreGetProcAddress,dliFailLoadLib, dliFailGetProc,dliNoteEndProcessing }; typedef struct DelayLoadProc { WINBOOL fImportByName; __C89_NAMELESS union { LPCSTR szProcName; DWORD dwOrdinal; }; } DelayLoadProc; typedef struct DelayLoadInfo { DWORD cb; PCImgDelayDescr pidd; FARPROC *ppfn; LPCSTR szDll; DelayLoadProc dlp; HMODULE hmodCur; FARPROC pfnCur; DWORD dwLastError; } DelayLoadInfo,*PDelayLoadInfo; typedef FARPROC (WINAPI *PfnDliHook)(unsigned dliNotify,PDelayLoadInfo pdli); ExternC WINBOOL WINAPI __FUnloadDelayLoadedDLL2(LPCSTR szDll); ExternC HRESULT WINAPI __HrLoadAllImportsForDll(LPCSTR szDll); #define FACILITY_VISUALCPP ((LONG)0x6d) #define VcppException(sev,err) ((sev) | (FACILITY_VISUALCPP<<16) | err) ExternC PfnDliHook __pfnDliNotifyHook2; ExternC PfnDliHook __pfnDliFailureHook2;