Mercurial > games > semicongine
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/delayimp.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,68 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER 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; + __MINGW_EXTENSION 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;
