#include "precomp.h"
Go to the source code of this file.
Defines | |
#define | HKF_SYSTEM 0x01 |
#define | HKF_TASK 0x02 |
#define | HKF_JOURNAL 0x04 |
#define | HKF_NZRET 0x08 |
#define | HKF_INTERSENDABLE 0x10 |
#define | HKF_LOWLEVEL 0x20 |
#define | IS_CHAR_MSG(msg) ((msg) & 0x02) |
#define | DbgValidatefsHook(phk, nFilterType, pti, fGlobal) |
Functions | |
void | UnlinkHook (PHOOK phkFree) |
BOOL | zzzJournalAttach (PTHREADINFO pti, BOOL fAttach) |
void | InterQueueMsgCleanup (DWORD dwTimeFromLastRead) |
void | zzzCancelJournalling (void) |
PROC | zzzSetWindowsHookAW (int nFilterType, PROC pfnFilterProc, DWORD dwFlags) |
PHOOK | zzzSetWindowsHookEx (HANDLE hmod, PUNICODE_STRING pstrLib, PTHREADINFO ptiThread, int nFilterType, PROC pfnFilterProc, DWORD dwFlags) |
LRESULT | xxxCallNextHookEx (int nCode, WPARAM wParam, LPARAM lParam) |
VOID | CheckWHFBits (PTHREADINFO pti, int nFilterType) |
BOOL | zzzUnhookWindowsHook (int nFilterType, PROC pfnFilterProc) |
BOOL | zzzUnhookWindowsHookEx (PHOOK phkFree) |
BOOL | _CallMsgFilter (LPMSG pmsg, int nCode) |
int | xxxCallHook (int nCode, WPARAM wParam, LPARAM lParam, int iHook) |
LRESULT | xxxCallHook2 (PHOOK phkCall, int nCode, WPARAM wParam, LPARAM lParam, LPBOOL lpbAnsiHook) |
BOOL | xxxCallMouseHook (UINT message, PMOUSEHOOKSTRUCTEX pmhs, BOOL fRemove) |
void | xxxCallJournalRecordHook (PQMSG pqmsg) |
DWORD | xxxCallJournalPlaybackHook (PQMSG pqmsg) |
VOID | FreeHook (PHOOK phkFree) |
PHOOK | PhkFirstGlobalValid (PTHREADINFO pti, int nFilterType) |
PHOOK | PhkFirstValid (PTHREADINFO pti, int nFilterType) |
VOID | FreeThreadsWindowHooks (VOID) |
VOID | zzzRegisterSystemThread (DWORD dwFlags, DWORD dwReserved) |
Variables | |
CONST int | ampiHookError [CWINHOOKS] |
CONST BYTE | abHookFlags [CWINHOOKS] |
|
Definition at line 274 of file hooks.c. Referenced by PhkFirstGlobalValid(), and PhkFirstValid(). |
|
Definition at line 24 of file hooks.c. Referenced by xxxCallHook2(), zzzSetWindowsHookEx(), and zzzUnhookWindowsHookEx(). |
|
Definition at line 22 of file hooks.c. Referenced by xxxCallHook2(), zzzSetWindowsHookEx(), and zzzUnhookWindowsHookEx(). |
|
Definition at line 25 of file hooks.c. Referenced by xxxCallHook2(). |
|
Definition at line 23 of file hooks.c. Referenced by zzzSetWindowsHookAW(). |
|
|
|
Definition at line 21 of file hooks.c. Referenced by zzzSetWindowsHookEx(). |
|
Definition at line 126 of file hooks.c. Referenced by xxxCallJournalPlaybackHook(). |
|
Definition at line 1210 of file hooks.c. References BOOL, FALSE, IsHooked, PtiCurrent, TRUE, WHF_MSGFILTER, WHF_SYSMSGFILTER, and xxxCallHook(). Referenced by NtUserCallMsgFilter(), xxxMNLoop(), xxxMoveSize(), xxxOldNextWindow(), xxxSBTrackLoop(), and xxxSendMenuSelect().
|
|
Definition at line 986 of file hooks.c. References BOOL, FALSE, tagHOOK::flags, tagDESKTOPINFO::fsHooks, _CLIENTINFO::fsHooks, tagTHREADINFO::fsHooks, HF_GLOBAL, KeAttachProcess(), KeDetachProcess(), NULL, tagTHREADINFO::pClientInfo, tagTHREADINFO::pDeskInfo, PhkFirstGlobalValid(), PhkFirstValid(), tagTHREADINFO::ppi, PpiCurrent, TRUE, VOID(), and WHF_FROM_WH. Referenced by FreeHook().
|
|
Definition at line 1976 of file hooks.c. References CheckWHFBits(), DbgValidateHooks, tagHOOK::flags, GETPTI, HF_DESTROYED, HF_GLOBAL, HMFreeObject(), HMMarkObjectDestroy(), tagHOOK::iHook, NULL, tagHOOK::ptiHooked, RemoveHmodDependency(), UnlinkHook(), and VOID(). Referenced by FreeThreadsWindowHooks(), xxxCallHook2(), and zzzUnhookWindowsHookEx().
|
|
Definition at line 2227 of file hooks.c. References tagTHREADINFO::aphkStart, tagDESKTOPINFO::aphkStart, tagHOOK::flags, FreeHook(), tagTHREADINFO::fsHooks, GETPTI, HF_DESTROYED, HF_GLOBAL, NULL, tagTHREADINFO::pDeskInfo, tagHOOK::phkNext, PtiCurrent, tagHOOK::ptiHooked, tagTHREADINFO::rpdesk, tagTHREADINFO::sphkCurrent, tagTHREADINFO::TIF_flags, TIF_INCLEANUP, UnlinkHook(), Unlock, and VOID(). Referenced by xxxDestroyThreadInfo().
|
|
Definition at line 339 of file hooks.c. References CheckCritIn, FHungApp(), gpsmsList, NULL, PSMS, and ReceiverDied(). Referenced by zzzCancelJournalling().
|
|
Definition at line 2151 of file hooks.c. References tagDESKTOPINFO::aphkStart, CheckCritIn, DbgValidatefsHook, DbgValidateHooks, tagHOOK::flags, HF_DESTROYED, NULL, tagTHREADINFO::pDeskInfo, PhkNextValid(), and TRUE. Referenced by CheckWHFBits(), GetJournallingQueue(), xxxCallJournalPlaybackHook(), xxxCallJournalRecordHook(), xxxGetNextSysMsg(), xxxInternalGetMessage(), xxxSkipSysMsg(), zzzCancelJournalling(), and zzzUnhookWindowsHookEx().
|
|
Definition at line 2183 of file hooks.c. References tagTHREADINFO::aphkStart, tagDESKTOPINFO::aphkStart, CheckCritIn, DbgValidatefsHook, DbgValidateHooks, FALSE, tagHOOK::flags, HF_DESTROYED, NULL, tagTHREADINFO::pDeskInfo, and PhkNextValid(). Referenced by CheckWHFBits(), xxxButtonEvent(), xxxCallHook(), xxxCallMouseHook(), xxxDoButtonEvent(), xxxKeyEvent(), xxxMoveEventAbsolute(), and zzzUnhookWindowsHook().
|
|
Definition at line 2061 of file hooks.c. References tagDESKTOPINFO::aphkStart, tagTHREADINFO::aphkStart, CheckCritIn, tagHOOK::flags, GETPTI, gptiRit, tagHOOK::head, HF_GLOBAL, tagHOOK::iHook, NULL, tagTHREADINFO::pDeskInfo, tagDESKTOP::pDeskInfo, tagHOOK::phkNext, tagHOOK::ptiHooked, tagHOOK::rpdesk, and UnlockDesktop. Referenced by FreeHook(), and FreeThreadsWindowHooks().
|
|
|
Definition at line 1288 of file hooks.c. References abHookFlags, ampiHookError, BOOL, BYTE, CheckCritIn, CMSHUNGAPPTIMEOUT, FHungApp(), tagHOOK::flags, FreeHook(), tagINTERSENDMSGEX::fuCall, tagINTERSENDMSGEX::fuSend, GETPTI, gnllHooksTimeout, gptiRit, HF_ANSI, HF_GLOBAL, HF_HOOKFAULTED, HF_WX86KNOWNDLL, HKF_INTERSENDABLE, HKF_JOURNAL, HKF_LOWLEVEL, HMIsMarkDestroy, HOOKMSGSTRUCT, tagHOOK::ihmod, tagHOOK::iHook, INTRSENDMSGEX, IsHooked, ISM_TIMEOUT, IsRestricted(), Lock, tagHOOKMSGSTRUCT::lParam, tagINTERSENDMSGEX::lpdwResult, tagPROCESSINFO::luidSession, luidSystem, tagHOOKMSGSTRUCT::nCode, NULL, tagTHREADINFO::pClientInfo, tagHOOKMSGSTRUCT::phk, _CLIENTINFO::phkCurrent, PhkNextValid(), tagTHREADINFO::ppi, PtiCurrent, tagHOOK::ptiHooked, tagTHREADINFO::rpdesk, RtlEqualLuid(), SET_TIME_LAST_READ, tagTHREADINFO::sphkCurrent, TESTHMODLOADED, ThreadLockAlwaysWithPti, ThreadLockWithPti, ThreadUnlock, TIDq, TIF_16BIT, TIF_ALLOWOTHERACCOUNTHOOK, TIF_CSRSSTHREAD, TIF_DISABLEHOOKS, TIF_DOSEMULATOR, tagTHREADINFO::TIF_flags, TIF_INCLEANUP, TIF_SYSTEMTHREAD, TIF_WOW64, UINT, tagINTERSENDMSGEX::uTimeout, WHF_DEBUG, xxxCallHook(), xxxHkCallHook(), xxxInterSendMsgEx(), and xxxLoadHmodIndex(). Referenced by xxxButtonEvent(), xxxCallHook(), xxxCallJournalPlaybackHook(), xxxCallJournalRecordHook(), xxxCallMouseHook(), xxxCallNextHookEx(), xxxDoButtonEvent(), xxxKeyEvent(), xxxMoveEventAbsolute(), and xxxReceiveMessage().
|
|
Definition at line 1797 of file hooks.c. References BOOL, BYTE, dt(), DWORD, gpsi, IS_CHAR_MSG, IS_DBCS_ENABLED, IsWinEventNotifyDeferredOK, L, LOBYTE, tagQMSG::msg, NtGetTickCount(), NULL, tagHOOK::offPfn, PhkFirstGlobalValid(), tagTHREADINFO::pq, PtiCurrent, RevalidateHwnd, tagQ::spwndActive, StoreQMessage(), TestKeyStateDown, ThreadLockWithPti, ThreadUnlock, tagTHREADINFO::TIF_flags, TIF_IGNOREPLAYBACKDELAY, UINT, tagTHREADINFO::wchInjected, xxxCallHook(), xxxCallHook2(), and zzzInternalSetCursorPos(). Referenced by xxxGetNextSysMsg().
|
|
Definition at line 1695 of file hooks.c. References BOOL, BYTE, tagQMSG::dwQEvent, HIBYTE, LOBYTE, tagQMSG::msg, NULL, PBYTE, PhkFirstGlobalValid(), PtiCurrent, RevalidateHwnd, UINT, and xxxCallHook2(). Referenced by xxxSkipSysMsg().
|
|
Definition at line 1666 of file hooks.c. References BOOL, DWORD, FALSE, PhkFirstValid(), PtiCurrent, TRUE, and xxxCallHook2(). Referenced by xxxScanSysQueue().
|
|
Definition at line 961 of file hooks.c. References BOOL, NULL, PhkNextValid(), PtiCurrent, and xxxCallHook2(). Referenced by fnHkINLPCWPEXSTRUCT(), fnHkINLPCWPRETEXSTRUCT(), NtUserCallNextHookEx(), NtUserfnHkINLPCBTACTIVATESTRUCT(), NtUserfnHkINLPCBTCREATESTRUCT(), NtUserfnHkINLPDEBUGHOOKSTRUCT(), NtUserfnHkINLPKBDLLHOOKSTRUCT(), NtUserfnHkINLPMOUSEHOOKSTRUCTEX(), NtUserfnHkINLPMSG(), NtUserfnHkINLPMSLLHOOKSTRUCT(), NtUserfnHkINLPRECT(), and NtUserfnHkOPTINLPEVENTMSG().
|
|
Definition at line 404 of file hooks.c. References _PostThreadMessage(), ClrWF, CMSWAITTOKILLTIMEOUT, DeferWinEventNotify, gppiLockSFW, gptiRit, grpdeskRitInput, gwMouseOwnerButton, tagHOOK::head, InterQueueMsgCleanup(), NULL, tagTHREADINFO::pDeskInfo, tagDESKTOP::pDeskInfo, PhkFirstGlobalValid(), PhkNextValid(), SendMsgCleanup(), tagDESKTOPINFO::spwnd, TestWF, WFDISABLED, zzzEndDeferWinEventNotify, and zzzUnhookWindowsHookEx(). Referenced by xxxDoHotKeyStuff(), and xxxSwitchDesktop().
|
|
Definition at line 285 of file hooks.c. References AllocQueue(), BOOL, tagQ::cThreads, FALSE, NULL, tagTHREADINFO::pqAttach, tagDESKTOP::PtiList, tagTHREADINFO::rpdesk, TIF_DONTJOURNALATTACH, tagTHREADINFO::TIF_flags, TIF_INCLEANUP, and zzzReattachThreads(). Referenced by zzzRegisterSystemThread(), zzzSetWindowsHookEx(), and zzzUnhookWindowsHookEx().
|
|
Definition at line 2318 of file hooks.c. References dwFlags, FALSE, FJOURNALPLAYBACK, FJOURNALRECORD, PtiCurrent, TIF_DONTATTACHQUEUE, TIF_DONTJOURNALATTACH, tagTHREADINFO::TIF_flags, TRUE, VOID(), and zzzJournalAttach().
|
|
Definition at line 528 of file hooks.c. References abHookFlags, dwFlags, HKF_NZRET, NULL, tagHOOK::phkNext, PtiCurrent, and zzzSetWindowsHookEx(). Referenced by NtUserSetWindowsHookAW().
|
|
Definition at line 576 of file hooks.c. References abHookFlags, AddHmodDependency(), tagTHREADINFO::amdesk, tagTHREADINFO::aphkStart, tagDESKTOPINFO::aphkStart, BOOL, DbgValidateHooks, dwFlags, tagWINDOWSTATION::dwWSF_Flags, FALSE, tagHOOK::flags, tagTHREADINFO::fsHooks, _CLIENTINFO::fsHooks, tagDESKTOPINFO::fsHooks, GetHmodTableIndex(), gppiInputProvider, HF_ANSI, HF_GLOBAL, HF_WX86KNOWNDLL, HKF_INTERSENDABLE, HKF_JOURNAL, HKF_TASK, HMAllocObject(), HMFreeObject(), tagHOOK::ihmod, tagHOOK::iHook, KeAttachProcess(), KeDetachProcess(), KeSetPriorityThread(), tagPROCESSINFO::luidSession, NULL, tagHOOK::offPfn, tagTHREADINFO::pClientInfo, tagTHREADINFO::pDeskInfo, tagHOOK::phkNext, tagTHREADINFO::ppi, PtiCurrent, tagHOOK::ptiHooked, tagTHREADINFO::rpdesk, tagDESKTOP::rpwinstaParent, RtlAreAllAccessesGranted(), RtlEqualLuid(), THREAD_TO_PROCESS, ThreadLockAlwaysWithPti, ThreadUnlock, TIF_ALLOWOTHERACCOUNTHOOK, TIF_CSRSSTHREAD, tagTHREADINFO::TIF_flags, TIF_GLOBALHOOKER, TIF_SYSTEMTHREAD, TRUE, TYPE_HOOK, WHF_FROM_WH, WSF_NOIO, zzzJournalAttach(), zzzSetFMouseMoved(), and zzzUnhookWindowsHookEx(). Referenced by NtUserSetWindowsHookEx(), and zzzSetWindowsHookAW().
|
|
Definition at line 1068 of file hooks.c. References BOOL, FALSE, GETPTI, NULL, PFNHOOK, PhkFirstValid(), PhkNextValid(), PtiCurrent, and zzzUnhookWindowsHookEx().
|
|
Definition at line 1126 of file hooks.c. References abHookFlags, BOOL, FALSE, tagHOOK::flags, FreeHook(), GETPTI, HF_DESTROYED, HKF_INTERSENDABLE, HKF_JOURNAL, tagHOOK::iHook, NULL, PhkFirstGlobalValid(), PhkNextValid(), tagTHREADINFO::TIF_flags, TIF_GLOBALHOOKER, TRUE, and zzzJournalAttach(). Referenced by NtUserUnhookWindowsHookEx(), zzzCancelJournalling(), zzzSetWindowsHookEx(), and zzzUnhookWindowsHook().
|
|
Initial value:
Definition at line 49 of file hooks.c. Referenced by xxxCallHook2(), zzzSetWindowsHookAW(), zzzSetWindowsHookEx(), and zzzUnhookWindowsHookEx(). |
|
Initial value:
Definition at line 27 of file hooks.c. Referenced by xxxCallHook2(). |