Difference between revisions of "Techwiki:Win32k/QUEUE"
Line 56: | Line 56: | ||
} MLIST, *PMLIST; | } MLIST, *PMLIST; | ||
// | // | ||
− | typedef struct | + | typedef struct tagQ |
{ | { | ||
MLIST mlInput; | MLIST mlInput; | ||
PTHREADINFO ptiSysLock; | PTHREADINFO ptiSysLock; | ||
− | + | ULONG_PTR idSysLock; | |
− | + | ULONG_PTR idSysPeek; | |
PTHREADINFO ptiMouse; | PTHREADINFO ptiMouse; | ||
PTHREADINFO ptiKeyboard; | PTHREADINFO ptiKeyboard; | ||
Line 108: | Line 108: | ||
===References=== | ===References=== | ||
− | * Windows Symbol files, userkdx.dll, !dso | + | * Windows Symbol files, userkdx.dll, !dso, W7U |
* dwQEvent values for QMSG from http://read.pudn.com/downloads52/sourcecode/windows/bitmap/178217/window%20manager/wintern.h__.htm | * dwQEvent values for QMSG from http://read.pudn.com/downloads52/sourcecode/windows/bitmap/178217/window%20manager/wintern.h__.htm |
Latest revision as of 06:46, 22 December 2014
Windows XP version of Queue structures
typedef struct _CARET { PWND spwnd; UINT fVisible : 1; UINT fOn : 1; INT iHideLevel; INT x; INT y; INT cy; INT cx; HBITMAP hBitmap; HANDLE hTimer; DWORD tid; #if (_WIN32_WINNT >= 0x0501) RECT rcCaret; // XP, device coordinates. #endif } CARET; *PCARET; // typedef struct _QMSG { struct _QMSG *pqmsgNext; struct _QMSG *pqmsgPrev; MSG msg; LONG_PTR ExtraInfo; DWORD dwQEvent; PTHREADINFO pti; } QMSG, *PQMSG; // // dwQEvent Values // #define QEVENT_SHOWWINDOW 0x0001 #define QEVENT_CANCELMODE 0x0002 #define QEVENT_SETWINDOWPOS 0x0003 #define QEVENT_UPDATEKEYSTATE 0x0004 #define QEVENT_DEACTIVATE 0x0005 #define QEVENT_ACTIVATE 0x0006 #define QEVENT_POSTMESSAGE 0x0007 #define QEVENT_EXECSHELL 0x0008 #define QEVENT_CANCELMENU 0x0009 #define QEVENT_DESTROYWINDOW 0x000A #define QEVENT_ASYNCSENDMSG 0x000B #define QEVENT_HUNGTHREAD 0x000C #define QEVENT_CANCELMOUSEMOVETRK 0x000D #define QEVENT_NOTIFYWINEVENT 0x000E #define QEVENT_RITACCESSIBILITY 0x000F #define QEVENT_RITSOUND 0x0010 #define QEVENT_APPCOMMAND 0x0011 // typedef struct _MLIST { PQMSG pqmsgRead; PQMSG pqmsgWriteLast; DWORD cMsgs; } MLIST, *PMLIST; // typedef struct tagQ { MLIST mlInput; PTHREADINFO ptiSysLock; ULONG_PTR idSysLock; ULONG_PTR idSysPeek; PTHREADINFO ptiMouse; PTHREADINFO ptiKeyboard; PWND spwndCapture; PWND spwndFocus; PWND spwndActive; PWND spwndActivePrev; DWORD codeCapture; DWORD msgDblClk; DWORD xbtnDblClk; DWORD timeDblClk; HWND hwndDblClk; POINT ptDblClk; BYTE afKeyRecentDown[32]; BYTE afKeyState[64]; CARET caret; PCURSOR spcurCurrent; INT iCursorLevel; DWORD QF_flags; WORD cThreads; WORD cLockCount DWORD msgJournal; LONG_PTR ExtraInfo; } Q, *PQ; // // Q flags // #define QF_UPDATEKEYSTATE 0x00000001 #define QF_FMENUSTATUSBREAK 0x00000004 #define QF_FMENUSTATUS 0x00000008 #define QF_FF10STATUS 0x00000010 #define QF_MOUSEMOVED 0x00000020 #define QF_ACTIVATIONCHANGE 0x00000040 #define QF_TABSWITCHING 0x00000080 #define QF_KEYSTATERESET 0x00000100 #define QF_INDESTROY 0x00000200 #define QF_LOCKNOREMOVE 0x00000400 #define QF_FOCUSNULLSINCEACTIVE 0x00000800 #define QF_DIALOGACTIVE 0x00004000 #define QF_EVENTDEACTIVATEREMOVED 0x00008000 #define QF_TRACKMOUSELEAVE 0x00020000 #define QF_TRACKMOUSEHOVER 0x00040000 #define QF_TRACKMOUSEFIRING 0x00080000 #define QF_CAPTURELOCKED 0x00100000 #define QF_ACTIVEWNDTRACKING 0x00200000
References
- Windows Symbol files, userkdx.dll, !dso, W7U
- dwQEvent values for QMSG from http://read.pudn.com/downloads52/sourcecode/windows/bitmap/178217/window%20manager/wintern.h__.htm