20#define IMM_RETURN_VOID(retval)
21#define IMM_RETURN_NONVOID(retval) return (retval)
24#undef DEFINE_IMM_ENTRY
25#define DEFINE_IMM_ENTRY(type, name, params, retval, retkind) \
26 typedef type (WINAPI *FN_##name)params;
32#undef DEFINE_IMM_ENTRY
33#define DEFINE_IMM_ENTRY(type, name, params, retval, retkind) \
40#define user32_module User32Instance
56#define IMM_FN(name) gImmApiEntries.p##name
59 (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
67#define SPY_DISPATCHMESSAGE 0x0101
68#define SPY_SENDMESSAGE 0x0103
69#define SPY_DEFWNDPROC 0x0105
70#define SPY_RESULT_OK 0x0001
71#define SPY_RESULT_INVALIDHWND 0x0003
72#define SPY_RESULT_DEFWND 0x0005
static BOOL CALLBACK EnumFunc(_In_ HWND hWnd, _In_ PCWSTR lpszString, _In_ HANDLE hData)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define ValidateHwnd(hwnd)
#define ValidateHwndNoErr(hwnd)
_In_ ATOM _In_ HANDLE _In_ BOOLEAN SystemProp
BOOL(CALLBACK * USERAPIHOOKPROC)(UAPIHK State, PUSERAPIHOOK puah)
PWND FASTCALL GetThreadDesktopWnd(VOID)
BOOL WINAPI GdiValidateHandle(HGDIOBJ)
PVOID FASTCALL ValidateHandle(HANDLE, UINT)
RTL_CRITICAL_SECTION gcsUserApiHook
VOID APIENTRY CliImmInitializeHotKeys(DWORD dwAction, HKL hKL)
VOID FASTCALL MessageCleanup(VOID)
VOID MenuTrackMouseMenuBar(HWND hWnd, ULONG Ht, POINT Pt)
HINSTANCE ghmodUserApiHook
void SPY_EnterMessage(INT iFlag, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
PUSER_HANDLE_ENTRY gHandleEntries
PUSER_HANDLE_TABLE gHandleTable
BOOL FASTCALL EnumNamesA(HWINSTA WindowStation, NAMEENUMPROCA EnumFunc, LPARAM Context, BOOL Desktops)
LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *)
Imm32ApiTable gImmApiEntries
BOOL get_icon_size(HICON hIcon, SIZE *size)
HWND * WIN_ListChildren(HWND hWndparent)
HRESULT User32GetImmFileName(_Out_ LPWSTR lpBuffer, _In_ size_t cchBuffer)
BOOL FASTCALL DefSetText(HWND hWnd, PCWSTR String, BOOL Ansi)
const char * SPY_GetVKeyName(WPARAM wParam)
BOOL FASTCALL EndUserApiHook(VOID)
HCURSOR CursorIconToCursor(HICON hIcon, BOOL SemiTransparent)
BOOL FASTCALL MessageInit(VOID)
HANDLE FASTCALL UserGetProp(HWND hWnd, ATOM Atom, BOOLEAN SystemProp)
VOID MenuTrackKbdMenuBar(HWND hWnd, UINT wParam, WCHAR wChar)
BOOL FASTCALL BeginIfHookedUserApiHook(VOID)
void mirror_rect(const RECT *window_rect, RECT *rect)
VOID FASTCALL IntNotifyWinEvent(DWORD, HWND, LONG, LONG, DWORD)
VOID UserGetWindowBorders(DWORD, DWORD, SIZE *, BOOL)
BOOL WINAPI UpdatePerUserImmEnabling(VOID)
BOOL WINAPI InitializeImmEntryTable(VOID)
VOID WINAPI UserSetLastError(IN DWORD dwErrCode)
BOOL WINAPI InitUserApiHook(HINSTANCE hInstance, USERAPIHOOKPROC pfn)
VOID FASTCALL ScrollTrackScrollBar(HWND Wnd, INT SBType, POINT Pt)
BOOL UserDrawSysMenuButton(HWND hWnd, HDC hDC, LPRECT, BOOL down)
UINT WINAPI WinPosGetMinMaxInfo(HWND hWnd, POINT *MaxSize, POINT *MaxPos, POINT *MinTrack, POINT *MaxTrack)
VOID WINAPI UserSetLastNTError(IN NTSTATUS Status)
BOOL FASTCALL IsInsideUserApiHook(VOID)
UINT MenuDrawMenuBar(HDC hDC, LPRECT Rect, HWND hWnd, BOOL Draw)
VOID FASTCALL Logon(BOOL IsLogon)
BOOL FASTCALL TestWindowProcess(PWND)
BOOL FASTCALL IsMsgOverride(UINT, PUAHOWP)
PVOID FASTCALL ValidateHandleNoErr(HANDLE handle, UINT uType)
CRITICAL_SECTION U32AccelCacheLock
VOID IntLoadPreloadKeyboardLayouts(VOID)
VOID FASTCALL ResetUserApiHook(PUSERAPIHOOK)
VOID DeleteFrameBrushes(VOID)
PWND FASTCALL ValidateHwndOrDesk(HWND hwnd)
void SPY_ExitMessage(INT iFlag, HWND hwnd, UINT msg, LRESULT lReturn, WPARAM wParam, LPARAM lParam)
const char * SPY_GetMsgName(UINT msg, HWND hWnd)
PCALLPROCDATA FASTCALL ValidateCallProc(HANDLE hCallProc)
BOOL WINAPI GdiDllInitialize(HANDLE, ULONG, PVOID)
VOID FASTCALL GetConnected(VOID)
BOOL FASTCALL EnumNamesW(HWINSTA WindowStation, NAMEENUMPROCW EnumFunc, LPARAM Context, BOOL Desktops)
BOOL WINAPI ClearUserApiHook(HINSTANCE hInstance)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
BOOL(CALLBACK * NAMEENUMPROCA)(LPSTR, LPARAM)
BOOL(CALLBACK * NAMEENUMPROCW)(LPWSTR, LPARAM)