Pyrogenesis
13997
|
#include "precompiled.h"
#include "lib/sysdep/os/win/wdll_delay_load.h"
#include "lib/sysdep/cpu.h"
#include "lib/sysdep/os/win/win.h"
#include "lib/sysdep/os/win/winit.h"
Go to the source code of this file.
Classes | |
struct | ImgDelayDescr |
struct | DelayLoadProc |
struct | DelayLoadInfo |
struct | UnloadInfo |
struct | ULI |
struct | InternalImgDelayDescr |
Macros | |
#define | FACILITY_VISUALCPP ((LONG)0x6d) |
#define | VcppException(sev, status) ((sev) | (FACILITY_VISUALCPP<<16) | status) |
Typedefs | |
typedef IMAGE_THUNK_DATA * | PImgThunkData |
typedef const IMAGE_THUNK_DATA * | PCImgThunkData |
typedef DWORD | RVA |
typedef struct ImgDelayDescr | ImgDelayDescr |
typedef struct ImgDelayDescr * | PImgDelayDescr |
typedef const ImgDelayDescr * | PCImgDelayDescr |
typedef struct DelayLoadProc | DelayLoadProc |
typedef struct DelayLoadInfo | DelayLoadInfo |
typedef struct DelayLoadInfo * | PDelayLoadInfo |
typedef FARPROC(WINAPI * | PfnDliHook )(unsigned dliNotify, PDelayLoadInfo pdli) |
typedef struct UnloadInfo * | PUnloadInfo |
typedef struct UnloadInfo | UnloadInfo |
typedef InternalImgDelayDescr * | PIIDD |
typedef const InternalImgDelayDescr * | PCIIDD |
Enumerations | |
enum | DLAttr { dlattrRva = 0x1 } |
enum | { dliStartProcessing, dliNoteStartProcessing = dliStartProcessing, dliNotePreLoadLibrary, dliNotePreGetProcAddress, dliFailLoadLib, dliFailGetProc, dliNoteEndProcessing } |
Functions | |
WINIT_REGISTER_LATE_SHUTDOWN2 (wdll_Shutdown) | |
void | wdll_add_notify (WdllLoadNotify *notify) |
static FARPROC WINAPI | notify_hook (unsigned dliNotify, PDelayLoadInfo pdli) |
unsigned | IndexFromPImgThunkData (PCImgThunkData pitdCur, PCImgThunkData pitdBase) |
template<class X > | |
X | PFromRva (RVA rva) |
unsigned | CountOfImports (PCImgThunkData pitdBase) |
static PIMAGE_NT_HEADERS WINAPI | PinhFromImageBase (HMODULE hmod) |
static void WINAPI | OverlayIAT (PImgThunkData pitdDst, PCImgThunkData pitdSrc) |
static DWORD WINAPI | TimeStampOfImage (PIMAGE_NT_HEADERS pinh) |
static bool WINAPI | FLoadedAtPreferredAddress (PIMAGE_NT_HEADERS pinh, HMODULE hmod) |
FARPROC WINAPI | __delayLoadHelper2 (PCImgDelayDescr pidd, FARPROC *ppfnIATEntry) |
static void | UnloadAllDlls () |
static Status | wdll_Shutdown () |
Variables | |
static WdllLoadNotify * | notify_list |
EXTERN_C PfnDliHook | __pfnDliNotifyHook2 = notify_hook |
EXTERN_C PfnDliHook | __pfnDliFailureHook2 = 0 |
const IMAGE_DOS_HEADER | __ImageBase |
PUnloadInfo | __puiHead = 0 |
#define FACILITY_VISUALCPP ((LONG)0x6d) |
Definition at line 43 of file wdll_delay_load.cpp.
#define VcppException | ( | sev, | |
status | |||
) | ((sev) | (FACILITY_VISUALCPP<<16) | status) |
Definition at line 44 of file wdll_delay_load.cpp.
typedef struct DelayLoadInfo DelayLoadInfo |
typedef struct DelayLoadProc DelayLoadProc |
typedef struct ImgDelayDescr ImgDelayDescr |
typedef const InternalImgDelayDescr* PCIIDD |
Definition at line 251 of file wdll_delay_load.cpp.
typedef const ImgDelayDescr* PCImgDelayDescr |
Definition at line 62 of file wdll_delay_load.cpp.
typedef const IMAGE_THUNK_DATA* PCImgThunkData |
Definition at line 47 of file wdll_delay_load.cpp.
typedef struct DelayLoadInfo * PDelayLoadInfo |
typedef FARPROC(WINAPI * PfnDliHook)(unsigned dliNotify, PDelayLoadInfo pdli) |
Definition at line 109 of file wdll_delay_load.cpp.
typedef InternalImgDelayDescr* PIIDD |
Definition at line 250 of file wdll_delay_load.cpp.
typedef struct ImgDelayDescr * PImgDelayDescr |
typedef IMAGE_THUNK_DATA* PImgThunkData |
Definition at line 46 of file wdll_delay_load.cpp.
typedef struct UnloadInfo* PUnloadInfo |
Definition at line 183 of file wdll_delay_load.cpp.
Definition at line 48 of file wdll_delay_load.cpp.
typedef struct UnloadInfo UnloadInfo |
anonymous enum |
Enumerator | |
---|---|
dliStartProcessing | |
dliNoteStartProcessing | |
dliNotePreLoadLibrary | |
dliNotePreGetProcAddress | |
dliFailLoadLib | |
dliFailGetProc | |
dliNoteEndProcessing |
Definition at line 70 of file wdll_delay_load.cpp.
enum DLAttr |
Enumerator | |
---|---|
dlattrRva |
Definition at line 64 of file wdll_delay_load.cpp.
FARPROC WINAPI __delayLoadHelper2 | ( | PCImgDelayDescr | pidd, |
FARPROC * | ppfnIATEntry | ||
) |
Definition at line 274 of file wdll_delay_load.cpp.
|
inline |
Definition at line 192 of file wdll_delay_load.cpp.
|
inlinestatic |
Definition at line 269 of file wdll_delay_load.cpp.
|
inline |
Definition at line 169 of file wdll_delay_load.cpp.
|
static |
Definition at line 123 of file wdll_delay_load.cpp.
|
inlinestatic |
Definition at line 259 of file wdll_delay_load.cpp.
Definition at line 178 of file wdll_delay_load.cpp.
|
inlinestatic |
Definition at line 254 of file wdll_delay_load.cpp.
Definition at line 264 of file wdll_delay_load.cpp.
|
static |
Definition at line 447 of file wdll_delay_load.cpp.
void wdll_add_notify | ( | WdllLoadNotify * | notify | ) |
Definition at line 117 of file wdll_delay_load.cpp.
|
static |
Definition at line 472 of file wdll_delay_load.cpp.
WINIT_REGISTER_LATE_SHUTDOWN2 | ( | wdll_Shutdown | ) |
const IMAGE_DOS_HEADER __ImageBase |
Definition at line 175 of file wdll_delay_load.cpp.
EXTERN_C PfnDliHook __pfnDliFailureHook2 = 0 |
Definition at line 153 of file wdll_delay_load.cpp.
EXTERN_C PfnDliHook __pfnDliNotifyHook2 = notify_hook |
Definition at line 150 of file wdll_delay_load.cpp.
PUnloadInfo __puiHead = 0 |
Definition at line 202 of file wdll_delay_load.cpp.
|
static |
Definition at line 115 of file wdll_delay_load.cpp.