Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendelayimp.h
Go to the documentation of this file.
00001 #ifndef _delayimp_h 00002 #define _delayimp_h 00003 00004 #ifdef __GNUC__ 00005 /* Hack, for bug in ld. Will be removed soon. */ 00006 #define __ImageBase _image_base__ 00007 #endif 00008 00009 #define DELAYLOAD_VERSION 0x200 00010 00011 typedef DWORD RVA; 00012 typedef IMAGE_THUNK_DATA *PImgThunkData; 00013 typedef const IMAGE_THUNK_DATA *PCImgThunkData; 00014 00015 enum DLAttr 00016 { 00017 dlattrRva = 0x1, 00018 }; 00019 00020 /* Notification codes */ 00021 enum 00022 { 00023 dliStartProcessing, 00024 dliNotePreLoadLibrary, 00025 dliNotePreGetProcAddress, 00026 dliFailLoadLib, 00027 dliFailGetProc, 00028 dliNoteEndProcessing, 00029 }; 00030 00031 typedef struct ImgDelayDescr 00032 { 00033 DWORD grAttrs; 00034 RVA rvaDLLName; 00035 RVA rvaHmod; 00036 RVA rvaIAT; 00037 RVA rvaINT; 00038 RVA rvaBoundIAT; 00039 RVA rvaUnloadIAT; 00040 DWORD dwTimeStamp; 00041 } ImgDelayDescr, *PImgDelayDescr; 00042 typedef const ImgDelayDescr *PCImgDelayDescr; 00043 00044 typedef struct DelayLoadProc 00045 { 00046 BOOL fImportByName; 00047 union 00048 { 00049 LPCSTR szProcName; 00050 DWORD dwOrdinal; 00051 }; 00052 } DelayLoadProc; 00053 00054 typedef struct DelayLoadInfo 00055 { 00056 DWORD cb; 00057 PCImgDelayDescr pidd; 00058 FARPROC *ppfn; 00059 LPCSTR szDll; 00060 DelayLoadProc dlp; 00061 HMODULE hmodCur; 00062 FARPROC pfnCur; 00063 DWORD dwLastError; 00064 } DelayLoadInfo, *PDelayLoadInfo; 00065 00066 typedef FARPROC (WINAPI *PfnDliHook)(unsigned, PDelayLoadInfo); 00067 00068 FORCEINLINE 00069 unsigned 00070 IndexFromPImgThunkData(PCImgThunkData pData, PCImgThunkData pBase) 00071 { 00072 return pData - pBase; 00073 } 00074 00075 extern const IMAGE_DOS_HEADER __ImageBase; 00076 00077 FORCEINLINE 00078 PVOID 00079 PFromRva(RVA rva) 00080 { 00081 return (PVOID)(((ULONG_PTR)(rva)) + ((ULONG_PTR)&__ImageBase)); 00082 } 00083 00084 00085 extern PfnDliHook __pfnDliNotifyHook2; 00086 extern PfnDliHook __pfnDliFailureHook2; 00087 00088 #endif /* not _delayimp_h */ Generated on Sat May 26 2012 04:30:03 for ReactOS by
1.7.6.1
|