215 DloadAcquireSectionWriteAccess();
223 PFromRva<HMODULE*>(pidd->
rvaHmod),
224 PFromRva<PImgThunkData>(pidd->
rvaIAT),
225 PFromRva<PCImgThunkData>(pidd->
rvaINT),
245 DloadReleaseSectionWriteAccess();
248 VcppException(ERROR_SEVERITY_ERROR, ERROR_INVALID_PARAMETER),
256 HMODULE hmod = *idd.
phmod;
263 const unsigned iINT = iIAT;
270 dli.
dlp.
szProcName = LPCSTR(PFromRva<PIMAGE_IMPORT_BY_NAME>(
RVA(UINT_PTR(pitd->u1.AddressOfData)))->Name);
279 FARPROC pfnRet =
NULL;
284 if (pfnRet !=
NULL) {
296 hmod = ::LoadLibraryEx(dli.
szDll,
NULL, 0);
311 DloadReleaseSectionWriteAccess();
331 HMODULE hmodT = HMODULE(InterlockedExchangePointer((
PVOID *) idd.
phmod,
PVOID(hmod)));
349 if (pinh->Signature == IMAGE_NT_SIGNATURE &&
356 pfnRet = FARPROC(UINT_PTR(idd.
pBoundIAT[iIAT].u1.Function));
358 goto SetEntryHookBypass;
377 DloadReleaseSectionWriteAccess();
386 DloadAcquireSectionWriteAccess();
397 *ppfnIATEntry = pfnRet;
407 DloadReleaseSectionWriteAccess();
Definition: delayimp.h:70
RVA rvaUnloadIAT
Definition: delayimp.h:29
FARPROC pfnCur
Definition: delayimp.h:77
static DWORD WINAPI TimeStampOfImage(PIMAGE_NT_HEADERS pinh)
Definition: delayhlp.cpp:148
Definition: delayimp.h:53
#define NULL
Definition: vcruntime.h:236
Definition: delayimp.h:46
Definition: delayimp.h:57
Definition: delayimp.h:49
RVA rvaHmod
Definition: delayimp.h:25
LPCSTR szName
Definition: delayhlp.cpp:121
Definition: delayimp.h:37
BOOL fImportByName
Definition: delayimp.h:63
RVA rvaDLLName
Definition: delayimp.h:24
PCImgThunkData pINT
Definition: delayhlp.cpp:124
RVA rvaIAT
Definition: delayimp.h:26
static PIMAGE_NT_HEADERS WINAPI PinhFromImageBase(HMODULE hmod)
Definition: delayhlp.cpp:136
DWORD dwTimeStamp
Definition: delayimp.h:30
LPCSTR szProcName
Definition: delayimp.h:65
typedef PVOID(NTAPI *ResolveDelayLoadedAPIProc)(_In_ PVOID ParentModuleBase
DelayLoadProc dlp
Definition: delayimp.h:75
DWORD dwLastError
Definition: delayimp.h:78
HMODULE hmodCur
Definition: delayimp.h:76
struct DelayLoadInfo DelayLoadInfo
DWORD grAttrs
Definition: delayimp.h:23
HMODULE * phmod
Definition: delayhlp.cpp:122
DWORD RVA
Definition: delayimp.h:20
ExternC const PfnDliHook __pfnDliNotifyHook2
Definition: delayimp.h:134
unsigned long DWORD
Definition: concrt.h:63
LPCSTR szDll
Definition: delayimp.h:74
Definition: delayimp.h:55
DWORD dwOrdinal
Definition: delayimp.h:66
Definition: delayhlp.cpp:119
ExternC const PfnDliHook __pfnDliFailureHook2
Definition: delayimp.h:141
PCImgThunkData pBoundIAT
Definition: delayhlp.cpp:125
PImgThunkData pIAT
Definition: delayhlp.cpp:123
DWORD grAttrs
Definition: delayhlp.cpp:120
const IMAGE_THUNK_DATA * PCImgThunkData
Definition: delayimp.h:19
static bool WINAPI FLoadedAtPreferredAddress(PIMAGE_NT_HEADERS pinh, HMODULE hmod)
Definition: delayhlp.cpp:154
#define VcppException(sev, err)
Definition: delayimp.h:108
DWORD dwTimeStamp
Definition: delayhlp.cpp:127
unsigned IndexFromPImgThunkData(PCImgThunkData pitdCur, PCImgThunkData pitdBase)
Definition: delayhlp.cpp:82
RVA rvaBoundIAT
Definition: delayimp.h:28
Definition: delayimp.h:51
RVA rvaINT
Definition: delayimp.h:27