mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 06:43:06 +00:00
Create a branch for header work.
svn path=/branches/header-work/; revision=45691
This commit is contained in:
parent
14fe274b1c
commit
9ea495ba33
19538 changed files with 0 additions and 1063950 deletions
88
include/psdk/delayimp.h
Normal file
88
include/psdk/delayimp.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
#ifndef _delayimp_h
|
||||
#define _delayimp_h
|
||||
|
||||
#ifdef __GNUC__
|
||||
/* Hack, for bug in ld. Will be removed soon. */
|
||||
#define __ImageBase _image_base__
|
||||
#endif
|
||||
|
||||
#define DELAYLOAD_VERSION 0x200
|
||||
|
||||
typedef DWORD RVA;
|
||||
typedef IMAGE_THUNK_DATA *PImgThunkData;
|
||||
typedef const IMAGE_THUNK_DATA *PCImgThunkData;
|
||||
|
||||
enum DLAttr
|
||||
{
|
||||
dlattrRva = 0x1,
|
||||
};
|
||||
|
||||
/* Notification codes */
|
||||
enum
|
||||
{
|
||||
dliStartProcessing,
|
||||
dliNotePreLoadLibrary,
|
||||
dliNotePreGetProcAddress,
|
||||
dliFailLoadLib,
|
||||
dliFailGetProc,
|
||||
dliNoteEndProcessing,
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
typedef struct DelayLoadProc
|
||||
{
|
||||
BOOL fImportByName;
|
||||
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, PDelayLoadInfo);
|
||||
|
||||
FORCEINLINE
|
||||
unsigned
|
||||
IndexFromPImgThunkData(PCImgThunkData pData, PCImgThunkData pBase)
|
||||
{
|
||||
return pData - pBase;
|
||||
}
|
||||
|
||||
extern const IMAGE_DOS_HEADER __ImageBase;
|
||||
|
||||
FORCEINLINE
|
||||
PVOID
|
||||
PFromRva(RVA rva)
|
||||
{
|
||||
return (PVOID)(((ULONG_PTR)(rva)) + ((ULONG_PTR)&__ImageBase));
|
||||
}
|
||||
|
||||
|
||||
extern PfnDliHook __pfnDliNotifyHook2;
|
||||
extern PfnDliHook __pfnDliFailureHook2;
|
||||
|
||||
#endif /* not _delayimp_h */
|
Loading…
Add table
Add a link
Reference in a new issue