36 lines
1.0 KiB
C
36 lines
1.0 KiB
C
#pragma once
|
|
|
|
EXTERN_C IMAGE_DOS_HEADER __ImageBase;
|
|
#define HINST_THISCOMPONENT ((HINSTANCE)&__ImageBase)
|
|
|
|
VOID DetourIAT(HMODULE hModule, LPSTR lpFuncName, LPVOID *lpOldAddress, LPVOID lpNewAddress);
|
|
|
|
#define DETOUR_IAT(x, y) \
|
|
LPVOID __LPORIGINAL##y; \
|
|
DetourIAT(x, #y, &__LPORIGINAL##y, &_##y)
|
|
|
|
#define RESTORE_IAT(x, y) \
|
|
DetourIAT(x, #y, NULL, __LPORIGINAL##y)
|
|
|
|
LPVOID *FindIAT(HMODULE hModule, LPSTR lpFuncName);
|
|
|
|
VOID SuspendProcessThreads(DWORD dwProcessId, DWORD dwThreadId, HANDLE *lphThreads, SIZE_T dwSize, SIZE_T *lpcb);
|
|
|
|
VOID ResumeAndCloseThreads(HANDLE *lphThreads, SIZE_T dwSize);
|
|
|
|
BOOL WindowsVersionCompare(BYTE Operator, DWORD dwMajorVersion, DWORD dwMinorVersion, WORD wServicePackMajor, WORD wServicePackMinor, DWORD dwTypeMask);
|
|
|
|
BOOL Is64BitWindows(void);
|
|
|
|
VOID _wdbgprintf(LPCWSTR format, ...);
|
|
VOID _dbgprintf(LPCSTR format, ...);
|
|
//#ifdef _DEBUG
|
|
#ifdef UNICODE
|
|
#define _tdbgprintf _wdbgprintf
|
|
#else
|
|
#define _tdbgprintf _dbgprintf
|
|
#endif // !UNICODE
|
|
//#else
|
|
//#define _tdbgprintf(format, ...)
|
|
//#endif // !_DEBUG
|