Pyrogenesis
trunk
|
#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"
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) |
#define VcppException | ( | sev, | |
status | |||
) | ((sev) | (FACILITY_VISUALCPP<<16) | status) |
typedef struct DelayLoadInfo DelayLoadInfo |
typedef struct DelayLoadProc DelayLoadProc |
typedef struct ImgDelayDescr ImgDelayDescr |
typedef const InternalImgDelayDescr* PCIIDD |
typedef const ImgDelayDescr* PCImgDelayDescr |
typedef const IMAGE_THUNK_DATA* PCImgThunkData |
typedef struct DelayLoadInfo * PDelayLoadInfo |
typedef FARPROC(WINAPI * PfnDliHook) (unsigned dliNotify, PDelayLoadInfo pdli) |
typedef InternalImgDelayDescr* PIIDD |
typedef struct ImgDelayDescr * PImgDelayDescr |
typedef IMAGE_THUNK_DATA* PImgThunkData |
typedef struct UnloadInfo* PUnloadInfo |
typedef DWORD RVA |
typedef struct UnloadInfo UnloadInfo |
anonymous enum |
enum DLAttr |
FARPROC WINAPI __delayLoadHelper2 | ( | PCImgDelayDescr | pidd, |
FARPROC * | ppfnIATEntry | ||
) |
|
inline |
|
inlinestatic |
|
inline |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
void wdll_add_notify | ( | WdllLoadNotify * | notify | ) |
|
static |
WINIT_REGISTER_LATE_SHUTDOWN2 | ( | wdll_Shutdown | ) |
const IMAGE_DOS_HEADER __ImageBase |
EXTERN_C PfnDliHook __pfnDliFailureHook2 = 0 |
EXTERN_C PfnDliHook __pfnDliNotifyHook2 = notify_hook |
PUnloadInfo __puiHead = 0 |
|
static |