source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/delayimp.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.6 KB
RevLine 
[1166]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#define _DELAY_IMP_VER 2
7
8#if defined(__cplusplus)
9#define ExternC extern "C"
10#else
11#define ExternC extern
12#endif
13
14typedef IMAGE_THUNK_DATA *PImgThunkData;
15typedef const IMAGE_THUNK_DATA *PCImgThunkData;
16typedef DWORD RVA;
17
18typedef struct ImgDelayDescr {
19 DWORD grAttrs;
20 RVA rvaDLLName;
21 RVA rvaHmod;
22 RVA rvaIAT;
23 RVA rvaINT;
24 RVA rvaBoundIAT;
25 RVA rvaUnloadIAT;
26 DWORD dwTimeStamp;
27} ImgDelayDescr,*PImgDelayDescr;
28
29typedef const ImgDelayDescr *PCImgDelayDescr;
30
31enum DLAttr {
32 dlattrRva = 0x1
33};
34
35enum {
36 dliStartProcessing,dliNoteStartProcessing = dliStartProcessing,dliNotePreLoadLibrary,dliNotePreGetProcAddress,dliFailLoadLib,
37 dliFailGetProc,dliNoteEndProcessing
38};
39
40typedef struct DelayLoadProc {
41 WINBOOL fImportByName;
42 __C89_NAMELESS union {
43 LPCSTR szProcName;
44 DWORD dwOrdinal;
45 };
46} DelayLoadProc;
47
48typedef struct DelayLoadInfo {
49 DWORD cb;
50 PCImgDelayDescr pidd;
51 FARPROC *ppfn;
52 LPCSTR szDll;
53 DelayLoadProc dlp;
54 HMODULE hmodCur;
55 FARPROC pfnCur;
56 DWORD dwLastError;
57} DelayLoadInfo,*PDelayLoadInfo;
58
59typedef FARPROC (WINAPI *PfnDliHook)(unsigned dliNotify,PDelayLoadInfo pdli);
60
61ExternC WINBOOL WINAPI __FUnloadDelayLoadedDLL2(LPCSTR szDll);
62ExternC HRESULT WINAPI __HrLoadAllImportsForDll(LPCSTR szDll);
63
64#define FACILITY_VISUALCPP ((LONG)0x6d)
65#define VcppException(sev,err) ((sev) | (FACILITY_VISUALCPP<<16) | err)
66
67ExternC PfnDliHook __pfnDliNotifyHook2;
68ExternC PfnDliHook __pfnDliFailureHook2;
Note: See TracBrowser for help on using the repository browser.