comparison fuhtark_test/include/winapi/delayimp.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER 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
14 typedef IMAGE_THUNK_DATA *PImgThunkData;
15 typedef const IMAGE_THUNK_DATA *PCImgThunkData;
16 typedef DWORD RVA;
17
18 typedef 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
29 typedef const ImgDelayDescr *PCImgDelayDescr;
30
31 enum DLAttr {
32 dlattrRva = 0x1
33 };
34
35 enum {
36 dliStartProcessing,dliNoteStartProcessing = dliStartProcessing,dliNotePreLoadLibrary,dliNotePreGetProcAddress,dliFailLoadLib,
37 dliFailGetProc,dliNoteEndProcessing
38 };
39
40 typedef struct DelayLoadProc {
41 WINBOOL fImportByName;
42 __MINGW_EXTENSION union {
43 LPCSTR szProcName;
44 DWORD dwOrdinal;
45 };
46 } DelayLoadProc;
47
48 typedef 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
59 typedef FARPROC (WINAPI *PfnDliHook)(unsigned dliNotify,PDelayLoadInfo pdli);
60
61 ExternC WINBOOL WINAPI __FUnloadDelayLoadedDLL2(LPCSTR szDll);
62 ExternC HRESULT WINAPI __HrLoadAllImportsForDll(LPCSTR szDll);
63
64 #define FACILITY_VISUALCPP ((LONG)0x6d)
65 #define VcppException(sev,err) ((sev) | (FACILITY_VISUALCPP<<16) | err)
66
67 ExternC PfnDliHook __pfnDliNotifyHook2;
68 ExternC PfnDliHook __pfnDliFailureHook2;