mouclass!MouseClassReadCopyData调试记录实体机器
0: kd> x mouclass!*callback
ba9ab596 mouclass!MouseClassServiceCallback (struct _DEVICE_OBJECT *, struct _MOUSE_INPUT_DATA *, struct _MOUSE_INPUT_DATA *, unsigned long *)
ba9af580 mouclass!MouDeviceMapQueryCallback (unsigned short *, unsigned long, void *, unsigned long, void *, void *)
0: kd> u ba9ab596
mouclass!MouseClassServiceCallback [d:\srv03rtm\drivers\input\mouclass\mouclass.c @ 2416]:
ba9ab596 55 push ebp
ba9ab597 8bec mov ebp,esp
ba9ab599 83ec0c sub esp,0Ch
ba9ab59c 53 push ebx
ba9ab59d 56 push esi
ba9ab59e 57 push edi
ba9ab59f 6820b09aba push offset mouclass!MouseClassHandleRead+0x104 (ba9ab020)
ba9ab5a4 6a02 push 2
0: kd> bp mouclass!MouseClassServiceCallback
0: kd> g
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> kc
00 mouclass!MouseClassServiceCallback
01 i8042prt!I8042MouseIsrDpc
02 nt!KiRetireDpcList
03 nt!KiIdleLoop
0: kd> x mouclass!Globals
ba9ae040 mouclass!Globals = struct _GLOBALS
0: kd> dx -id 0,0,807286c0 -r1 (*((mouclass!_GLOBALS *)0xba9ae040))
(*((mouclass!_GLOBALS *)0xba9ae040)) [Type: _GLOBALS]
+0x000\] Debug : 0x0 \[Type: unsigned long
+0x004\] GrandMaster : 0x0 \[Type: _DEVICE_EXTENSION \*
+0x008\] AssocClassList : 0x0 \[Type: _PORT \*
+0x00c\] NumAssocClass : 0x0 \[Type: unsigned long
+0x010\] Opens : 0 \[Type: long
+0x014\] NumberLegacyPorts : 0x0 \[Type: unsigned long
+0x018\] Mutex \[Type: _FAST_MUTEX
+0x038\] ConnectOneClassToOnePort : 0x1 \[Type: unsigned long
+0x03c\] PortsServiced : 0x3 \[Type: unsigned long
+0x040\] InitExtension \[Type: _DEVICE_EXTENSION
+0x150\] RegistryPath : "\\REGISTRY\\MACHINE\\SYSTEM\\ControlSet001\\Services\\Mouclass" \[Type: _UNICODE_STRING
+0x158\] BaseClassName : "PointerClass" \[Type: _UNICODE_STRING
+0x160\] BaseClassBuffer \[Type: unsigned short \[256\]
+0x360\] LegacyDeviceList \[Type: _LIST_ENTRY
0: kd> ed ba9ae040 f
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d6a0 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> x win32k!ProcessMouseInput
bf8e9149 win32k!ProcessMouseInput (struct tagDEVICEINFO *)
0: kd> ba e1 win32k!ProcessMouseInput
0: kd> x win32k!queuqu*
0: kd> x win32k!queue*
bf8ff97f win32k!QueuePowerRequest (struct _WIN32_POWEREVENT_PARAMETERS *)
bf86a30e win32k!QueueNotifyMessage (struct tagWND *, unsigned int, unsigned int, long)
bf8e7542 win32k!QueueMouseEvent (unsigned short, unsigned short, unsigned long, struct tagPOINT, long, void *, struct _MOUSE_INPUT_DATA *, int, int)
0: kd> u bf8e7542
win32k!QueueMouseEvent [d:\srv03rtm\windows\core\ntuser\kernel\ntinput.c @ 1844]:
bf8e7542 ?? ???
^ Memory access error in 'u bf8e7542'
0: kd> ba e1 win32k!QueueMouseEvent
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d6b8 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9cfb2 \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9cfb5 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x4 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 170 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d6d0 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9d147 \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9d148 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 4 \[Type: long
+0x010\] LastY : -1 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=516 y=383}
time = 0n-3545593
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d6e8 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9e609 \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9e60c \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x4 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : -86 \[Type: long
+0x010\] LastY : -1 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d700 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9e656 \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9e657 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : -4 \[Type: long
+0x010\] LastY : 1 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8290))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8290)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 0 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> ed ba9ae040 0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=513 y=384}
time = 0n-3540593
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> ed ba9ae040 f
0: kd> x mouclass!*copydata
ba9aad26 mouclass!MouseClassReadCopyData (struct _DEVICE_EXTENSION *, struct _IRP *)
0: kd> u ba9aad26
mouclass!MouseClassReadCopyData [d:\srv03rtm\drivers\input\mouclass\mouclass.c @ 1906]:
ba9aad26 55 push ebp
ba9aad27 8bec mov ebp,esp
ba9aad29 51 push ecx
ba9aad2a 8b450c mov eax,dword ptr [ebp+0Ch]
ba9aad2d 53 push ebx
ba9aad2e 56 push esi
ba9aad2f 8b7508 mov esi,dword ptr [ebp+8]
ba9aad32 ff86a4000000 inc dword ptr [esi+0A4h]
0: kd> bp mouclass!MouseClassReadCopyData
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d718 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9f991 \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9f993 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d730 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffc9f9ce \[Type: unsigned long
+0x044\] timeEndRead : 0xffc9f9cf \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 2 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=513 y=384}
time = 0n-3534031
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d748 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> dv
DeviceObject = 0x8ca8e2d0 Device for "\Driver\Mouclass"
InputDataStart = 0x8cb9d760
InputDataEnd = 0x8cb9d778
InputDataConsumed = 0x8071c644
irpSp = 0x00000008
bytesInQueue = 0x8ca8e2d0
bytesToMove = 0x8cb9d778
listHead = struct _LIST_ENTRY [ 0x0 - 0xba9ab597 ]
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d760 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffca1380 \[Type: unsigned long
+0x044\] timeEndRead : 0xffca1381 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 1
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=513 y=384}
time = 0n-3525875
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> dv
DeviceObject = 0x8ca8e2d0 Device for "\Driver\Mouclass"
InputDataStart = 0x8cb9d778
InputDataEnd = 0x8cb9d790
InputDataConsumed = 0x8071c644
Process 807286c0 has invalid page directories
Process 807286c0 has invalid page directories
irpSp = <Memory access error>
bytesInQueue = <Memory access error>
bytesToMove = <Memory access error>
listHead = struct _LIST_ENTRY
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d778 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffca330f \[Type: unsigned long
+0x044\] timeEndRead : 0xffca3312 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d790 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffca335d \[Type: unsigned long
+0x044\] timeEndRead : 0xffca335e \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 1
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=513 y=384}
time = 0n-3511750
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> dv
DeviceObject = 0x8ca8e2d0 Device for "\Driver\Mouclass"
InputDataStart = 0x8cb9d7a8
InputDataEnd = 0x8cb9d7c0
InputDataConsumed = 0x8071c644
Process 807286c0 has invalid page directories
irpSp = <Memory access error>
bytesInQueue = <Memory access error>
bytesToMove = <Memory access error>
listHead = struct _LIST_ENTRY
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d7a8 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffca6a3c \[Type: unsigned long
+0x044\] timeEndRead : 0xffca6a3f \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d7c0 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 259 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffca6a7a \[Type: unsigned long
+0x044\] timeEndRead : 0xffca6a7b \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0x18 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=516 y=382}
time = 0n-3503578
hDevice = 0x00010047
pmei = 0xe16e8278
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d7d8 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> bd 5
0: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
WINMM(p396:t400): ClientUpdatePnpInfo: warning: called in winlogon before logged on
WINMM(p396:t412): ClientUpdatePnpInfo: warning: called in winlogon before logged on
Breakpoint 4 hit
mouclass!MouseClassServiceCallback:
ba9ab596 55 push ebp
0: kd> bd 4
0: kd> g
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d7f0 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
3: kd> bd 6
3: kd> g
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d808 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassDeviceControl: enter
MOUCLASS-MouseClassDeviceControl: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d820 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x960, remaining bytes in port queue 0x18
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x18
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x960
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d838 to 0x8cbb3008
MOUCLASS-MouseClassServiceCallback: changed InputCount to 1 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb3020, DataOut 0x8cbb3008
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 1
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x48
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x948, remaining bytes in port queue 0x48
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x48
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x948
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x48
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d850 to 0x8cbb3020
MOUCLASS-MouseClassServiceCallback: changed InputCount to 4 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb3068, DataOut 0x8cbb3008
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 3
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x48
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x900, remaining bytes in port queue 0x48
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x48
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x900
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x48
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d898 to 0x8cbb3068
MOUCLASS-MouseClassServiceCallback: changed InputCount to 7 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb30b0, DataOut 0x8cbb3008
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 3
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassRead: enter
Breakpoint 7 hit
mouclass!MouseClassReadCopyData:
ba9aad26 55 push ebp
0: kd> dv MOUCLASS!DeviceExtension
0: kd> dv DeviceExtension
DeviceExtension = 0x8ca8e388
0: kd> dx -id 0,0,807286c0 -r1 ((mouclass!_DEVICE_EXTENSION *)0x8ca8e388)
((mouclass!_DEVICE_EXTENSION *)0x8ca8e388) : 0x8ca8e388 [Type: _DEVICE_EXTENSION *]
+0x000\] Self : 0x8ca8e2d0 : Device for "\\Driver\\Mouclass" \[Type: _DEVICE_OBJECT \*
+0x004\] TrueClassDevice : 0x8ca8e2d0 : Device for "\\Driver\\Mouclass" \[Type: _DEVICE_OBJECT \*
+0x008\] TopPort : 0x8cba4c38 : Device for "\\Driver\\i8042prt" \[Type: _DEVICE_OBJECT \*
+0x00c\] PDO : 0x8cc14618 : Device for "\\Driver\\ACPI" \[Type: _DEVICE_OBJECT \*
+0x010\] RemoveLock \[Type: _IO_REMOVE_LOCK
+0x068\] PnP : 0x1 \[Type: unsigned char
+0x069\] Started : 0x1 \[Type: unsigned char
+0x06a\] OkayToLogOverflow : 0x1 \[Type: unsigned char
+0x06c\] WaitWakeSpinLock : 0x0 \[Type: unsigned long
+0x070\] TrustedSubsystemCount : 0x1 \[Type: unsigned long
[+0x074] InputCount : 0x7 [Type: unsigned long]
+0x078\] SymbolicLinkName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x080\] InputData : 0x8cbb3008 \[Type: _MOUSE_INPUT_DATA \*
+0x084\] DataIn : 0x8cbb30b0 \[Type: _MOUSE_INPUT_DATA \*
+0x088\] DataOut : 0x8cbb3008 \[Type: _MOUSE_INPUT_DATA \*
+0x08c\] MouseAttributes \[Type: _MOUSE_ATTRIBUTES
+0x098\] SpinLock : 0x8c816269 \[Type: unsigned long
+0x09c\] ReadQueue \[Type: _LIST_ENTRY
+0x0a4\] SequenceNumber : 0x0 \[Type: unsigned long
+0x0a8\] DeviceState : PowerDeviceD0 (1) \[Type: _DEVICE_POWER_STATE
+0x0ac\] SystemState : PowerSystemWorking (1) \[Type: _SYSTEM_POWER_STATE
+0x0b0\] UnitId : 0x0 \[Type: unsigned long
+0x0b4\] WmiLibInfo \[Type: _WMILIB_CONTEXT
+0x0d4\] SystemToDeviceState \[Type: _DEVICE_POWER_STATE \[5\]
+0x0e8\] MinDeviceWakeState : PowerDeviceD3 (4) \[Type: _DEVICE_POWER_STATE
+0x0ec\] MinSystemWakeState : PowerSystemSleeping3 (4) \[Type: _SYSTEM_POWER_STATE
+0x0f0\] WaitWakeIrp : 0x0 \[Type: _IRP \*
+0x0f4\] ExtraWaitWakeIrp : 0x0 \[Type: _IRP \*
+0x0f8\] TargetNotifyHandle : 0x0 \[Type: void \*
+0x0fc\] Link \[Type: _LIST_ENTRY
+0x104\] File : 0x0 \[Type: _FILE_OBJECT \*
+0x108\] Enabled : 0x0 \[Type: unsigned char
+0x109\] WaitWakeEnabled : 0x0 \[Type: unsigned char
+0x10a\] SurpriseRemoved : 0x0 \[Type: unsigned char
0: kd> dx -id 0,0,807286c0 -r1 ((mouclass!_MOUSE_INPUT_DATA *)0x8cbb3008)
((mouclass!_MOUSE_INPUT_DATA *)0x8cbb3008) : 0x8cbb3008 [Type: _MOUSE_INPUT_DATA *]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 25 \[Type: long
+0x010\] LastY : -7 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n25
+0x010 LastY : 0n-7
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n127
+0x010 LastY : 0n-36
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*2
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n69
+0x010 LastY : 0n1
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*3
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n16
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*4
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-124
+0x010 LastY : 0n29
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*5
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-123
+0x010 LastY : 0n30
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*6
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-2
+0x010 LastY : 0n1
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb3008+18*7
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n0
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> g
MOUCLASS-MouseClassCopyReadData: queue size 0xa8, read length 0xf0
MOUCLASS-MouseClassCopyReadData: bytes to end of queue 0x960
MOUCLASS-MouseClassCopyReadData: number of bytes in first move 0xa8
MOUCLASS-MouseClassCopyReadData: move bytes from 0x8cbb3008 to 0x8c89a2e0
MOUCLASS-MouseClassCopyReadData: Okay to log overflow
MOUCLASS-MouseClassCopyReadData: new DataIn 0x8cbb30b0, DataOut 0x8cbb30b0
MOUCLASS-MouseClassCopyReadData: new InputCount 0
MOUCLASS-MouseClassRead: enter
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: port queue length 0x18, read length 0xf0
MOUCLASS-MouseClassServiceCallback: number of bytes to move from port to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d8e0 to 0x8c89a2e0
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x0
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x960, remaining bytes in port queue 0x18
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x18
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x8b8
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d8f8 to 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: changed InputCount to 1 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb30c8, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 1
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x48
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x948, remaining bytes in port queue 0x48
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x48
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x8a0
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x48
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d910 to 0x8cbb30c8
MOUCLASS-MouseClassServiceCallback: changed InputCount to 4 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb3110, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 3
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x30
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x900, remaining bytes in port queue 0x30
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x30
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x858
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x30
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d958 to 0x8cbb3110
MOUCLASS-MouseClassServiceCallback: changed InputCount to 6 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb3140, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 2
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x48
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x8d0, remaining bytes in port queue 0x48
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x48
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x828
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x48
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d988 to 0x8cbb3140
MOUCLASS-MouseClassServiceCallback: changed InputCount to 9 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb3188, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 3
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x30
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x888, remaining bytes in port queue 0x30
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x30
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x7e0
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x30
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9d9d0 to 0x8cbb3188
MOUCLASS-MouseClassServiceCallback: changed InputCount to 11 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb31b8, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 2
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassServiceCallback: enter
MOUCLASS-MouseClassServiceCallback: bytes remaining after move to SystemBuffer 0x18
MOUCLASS-MouseClassServiceCallback: unused bytes in class queue 0x858, remaining bytes in port queue 0x18
MOUCLASS-MouseClassServiceCallback: total number of bytes to move to class queue 0x18
MOUCLASS-MouseClassServiceCallback: number of bytes to end of class buffer 0x7b0
MOUCLASS-MouseClassServiceCallback: number of bytes in first move to class 0x18
MOUCLASS-MouseClassServiceCallback: move bytes from 0x8cb9da00 to 0x8cbb31b8
MOUCLASS-MouseClassServiceCallback: changed InputCount to 12 entries in the class queue
MOUCLASS-MouseClassServiceCallback: DataIn 0x8cbb31d0, DataOut 0x8cbb30b0
MOUCLASS-MouseClassServiceCallback: Input data items consumed = 1
MOUCLASS-MouseClassServiceCallback: exit
MOUCLASS-MouseClassRead: enter
Breakpoint 7 hit
mouclass!MouseClassReadCopyData:
ba9aad26 55 push ebp
0: kd> dv DeviceExtension
DeviceExtension = 0x8ca8e388
0: kd> dx -id 0,0,807286c0 -r1 ((mouclass!_DEVICE_EXTENSION *)0x8ca8e388)
((mouclass!_DEVICE_EXTENSION *)0x8ca8e388) : 0x8ca8e388 [Type: _DEVICE_EXTENSION *]
+0x000\] Self : 0x8ca8e2d0 : Device for "\\Driver\\Mouclass" \[Type: _DEVICE_OBJECT \*
+0x004\] TrueClassDevice : 0x8ca8e2d0 : Device for "\\Driver\\Mouclass" \[Type: _DEVICE_OBJECT \*
+0x008\] TopPort : 0x8cba4c38 : Device for "\\Driver\\i8042prt" \[Type: _DEVICE_OBJECT \*
+0x00c\] PDO : 0x8cc14618 : Device for "\\Driver\\ACPI" \[Type: _DEVICE_OBJECT \*
+0x010\] RemoveLock \[Type: _IO_REMOVE_LOCK
+0x068\] PnP : 0x1 \[Type: unsigned char
+0x069\] Started : 0x1 \[Type: unsigned char
+0x06a\] OkayToLogOverflow : 0x1 \[Type: unsigned char
+0x06c\] WaitWakeSpinLock : 0x0 \[Type: unsigned long
+0x070\] TrustedSubsystemCount : 0x1 \[Type: unsigned long
[+0x074] InputCount : 0xc [Type: unsigned long]
+0x078\] SymbolicLinkName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x080\] InputData : 0x8cbb3008 \[Type: _MOUSE_INPUT_DATA \*
+0x084\] DataIn : 0x8cbb31d0 \[Type: _MOUSE_INPUT_DATA \*
+0x088\] DataOut : 0x8cbb30b0 \[Type: _MOUSE_INPUT_DATA \*
+0x08c\] MouseAttributes \[Type: _MOUSE_ATTRIBUTES
+0x098\] SpinLock : 0x8c816269 \[Type: unsigned long
+0x09c\] ReadQueue \[Type: _LIST_ENTRY
+0x0a4\] SequenceNumber : 0x1 \[Type: unsigned long
+0x0a8\] DeviceState : PowerDeviceD0 (1) \[Type: _DEVICE_POWER_STATE
+0x0ac\] SystemState : PowerSystemWorking (1) \[Type: _SYSTEM_POWER_STATE
+0x0b0\] UnitId : 0x0 \[Type: unsigned long
+0x0b4\] WmiLibInfo \[Type: _WMILIB_CONTEXT
+0x0d4\] SystemToDeviceState \[Type: _DEVICE_POWER_STATE \[5\]
+0x0e8\] MinDeviceWakeState : PowerDeviceD3 (4) \[Type: _DEVICE_POWER_STATE
+0x0ec\] MinSystemWakeState : PowerSystemSleeping3 (4) \[Type: _SYSTEM_POWER_STATE
+0x0f0\] WaitWakeIrp : 0x0 \[Type: _IRP \*
+0x0f4\] ExtraWaitWakeIrp : 0x0 \[Type: _IRP \*
+0x0f8\] TargetNotifyHandle : 0x0 \[Type: void \*
+0x0fc\] Link \[Type: _LIST_ENTRY
+0x104\] File : 0x0 \[Type: _FILE_OBJECT \*
+0x108\] Enabled : 0x0 \[Type: unsigned char
+0x109\] WaitWakeEnabled : 0x0 \[Type: unsigned char
+0x10a\] SurpriseRemoved : 0x0 \[Type: unsigned char
0: kd> bl
0 d Enable Clear bf8914ab [d:\srv03rtm\windows\core\ntuser\kernel\ntinput.c @ 5970] 0001 (0001) win32k!RawInputThread
1 d Enable Clear u 0001 (0001) (winsrv!ConServerDllInitialization)
2 d Enable Clear bf8e60f1 [d:\srv03rtm\windows\core\ntuser\kernel\ntinput.c @ 180] 0001 (0001) win32k!xxxInitInput
3 d Enable Clear u 0001 (0001) (USER32!CreateWindowStationW)
4 d Enable Clear ba9ab596 [d:\srv03rtm\drivers\input\mouclass\mouclass.c @ 2416] 0001 (0001) mouclass!MouseClassServiceCallback
5 d Enable Clear bf8e9149 e 1 0001 (0001) win32k!ProcessMouseInput
6 d Enable Clear bf8e7542 e 1 0001 (0001) win32k!QueueMouseEvent
7 e Disable Clear ba9aad26 [d:\srv03rtm\drivers\input\mouclass\mouclass.c @ 1906] 0001 (0001) mouclass!MouseClassReadCopyData
0: kd> be 5
0: kd> be 6
0: kd> dx -id 0,0,807286c0 -r1 ((mouclass!_MOUSE_INPUT_DATA *)0x8cbb30b0)
((mouclass!_MOUSE_INPUT_DATA *)0x8cbb30b0) : 0x8cbb30b0 [Type: _MOUSE_INPUT_DATA *]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 8 \[Type: long
+0x010\] LastY : 2 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*0
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n8
+0x010 LastY : 0n2
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*2
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n117
+0x010 LastY : 0n15
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*3
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n29
+0x010 LastY : 0n3
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*4
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 1
+0x004 ButtonFlags : 1
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n0
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*5
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 2
+0x004 ButtonFlags : 2
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n0
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> x win32k!xxxbutton*
bf8e6c5e win32k!xxxButtonEvent (unsigned long, struct tagPOINT, int, unsigned long, unsigned long, void *, struct _MOUSE_INPUT_DATA *, int, int)
0: kd> u bf8e6c5e
win32k!xxxButtonEvent [d:\srv03rtm\windows\core\ntuser\kernel\ntinput.c @ 1332]:
bf8e6c5e 55 push ebp
bf8e6c5f 8bec mov ebp,esp
bf8e6c61 83ec44 sub esp,44h
bf8e6c64 53 push ebx
bf8e6c65 56 push esi
bf8e6c66 33f6 xor esi,esi
bf8e6c68 57 push edi
bf8e6c69 8975f0 mov dword ptr [ebp-10h],esi
0: kd> ba e1 win32k!xxxButtonEvent
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*6
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 1
+0x004 ButtonFlags : 1
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n0
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*7
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 2
+0x004 ButtonFlags : 2
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n0
+0x010 LastY : 0n0
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*8
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-15
+0x010 LastY : 0n5
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*9
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-47
+0x010 LastY : 0n10
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*a
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-26
+0x010 LastY : 0n7
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*b
+0x000 UnitId : 0
+0x002 Flags : 0
+0x004 Buttons : 0
+0x004 ButtonFlags : 0
+0x006 ButtonData : 0
+0x008 RawButtons : 0
+0x00c LastX : 0n-3
+0x010 LastY : 0n1
+0x014 ExtraInformation : 0
0: kd> dt mouclass!_MOUSE_INPUT_DATA 0x8cbb30b0+18*c
+0x000 UnitId : 0x3809
+0x002 Flags : 0x8cb7
+0x004 Buttons : 0x8083e7a1
+0x004 ButtonFlags : 0xe7a1
+0x006 ButtonData : 0x8083
+0x008 RawButtons : 0x403
+0x00c LastX : 0n0
+0x010 LastY : 0n-1933889056
+0x014 ExtraInformation : 0x8cbb31e0
0: kd> g
MOUCLASS-MouseClassCopyReadData: queue size 0x120, read length 0xf0
MOUCLASS-MouseClassCopyReadData: bytes to end of queue 0x8b8
MOUCLASS-MouseClassCopyReadData: number of bytes in first move 0xf0
MOUCLASS-MouseClassCopyReadData: move bytes from 0x8cbb30b0 to 0x8c89a2e0
MOUCLASS-MouseClassCopyReadData: new DataIn 0x8cbb31d0, DataOut 0x8cbb31a0
MOUCLASS-MouseClassCopyReadData: new InputCount 2
Breakpoint 5 hit
win32k!ProcessMouseInput:
bf8e9149 55 push ebp
0: kd> dv
pMouseInfo = 0xe16e8220
ptLastMove = {x=-1081175735 y=8}
0: kd> dx -id 0,0,807286c0 -r1 ((win32k!tagDEVICEINFO *)0xe16e8220)
((win32k!tagDEVICEINFO *)0xe16e8220) : 0xe16e8220 [Type: tagDEVICEINFO *]
+0x000\] head \[Type: _HEAD
+0x008\] pNext : 0x0 \[Type: tagDEVICEINFO \*
+0x00c\] type : 0x0 \[Type: unsigned char
+0x00d\] bFlags : 0x2 \[Type: unsigned char
+0x00e\] usActions : 0x0 \[Type: unsigned short
+0x010\] nRetryRead : 0x0 \[Type: unsigned char
+0x014\] ustrName : "\\??\\ACPI#PNP0F03#4\&415b4c\&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" \[Type: _UNICODE_STRING
+0x01c\] handle : 0x214 \[Type: void \*
+0x020\] NotificationEntry : 0xe13d2840 \[Type: void \*
+0x024\] pkeHidChangeCompleted : 0x8c8969e8 \[Type: _KEVENT \*
+0x028\] iosb \[Type: _IO_STATUS_BLOCK
+0x030\] ReadStatus : 0 \[Type: long
+0x034\] OpenerProcess : 0x174 \[Type: void \*
+0x038\] OpenStatus : 0 \[Type: long
+0x03c\] AttrStatus : 0 \[Type: long
+0x040\] timeStartRead : 0xffcab213 \[Type: unsigned long
+0x044\] timeEndRead : 0xffcab216 \[Type: unsigned long
+0x048\] nReadsOutstanding : 0 \[Type: int
+0x04c\] mouse \[Type: tagMOUSE_DEVICE_INFO
+0x04c\] keyboard \[Type: tagKEYBOARD_DEVICE_INFO
+0x04c\] hid \[Type: tagHID_DEVICE_INFO
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_IO_STATUS_BLOCK *)0xe16e8248))
(*((win32k!_IO_STATUS_BLOCK *)0xe16e8248)) [Type: _IO_STATUS_BLOCK]
+0x000\] Status : 0 \[Type: long
+0x000\] Pointer : 0x0 \[Type: void \*
+0x004\] Information : 0xf0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c))
(*((win32k!tagMOUSE_DEVICE_INFO *)0xe16e826c)) [Type: tagMOUSE_DEVICE_INFO]
+0x000\] Attr \[Type: _MOUSE_ATTRIBUTES
+0x00c\] Data \[Type: _MOUSE_INPUT_DATA \[10\]
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA (*)[10])0xe16e8278)) [Type: _MOUSE_INPUT_DATA [10]]
0\] \[Type: _MOUSE_INPUT_DATA
1\] \[Type: _MOUSE_INPUT_DATA
2\] \[Type: _MOUSE_INPUT_DATA
3\] \[Type: _MOUSE_INPUT_DATA
4\] \[Type: _MOUSE_INPUT_DATA
5\] \[Type: _MOUSE_INPUT_DATA
6\] \[Type: _MOUSE_INPUT_DATA
7\] \[Type: _MOUSE_INPUT_DATA
8\] \[Type: _MOUSE_INPUT_DATA
9\] \[Type: _MOUSE_INPUT_DATA
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8278)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 8 \[Type: long
+0x010\] LastY : 2 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8290))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8290)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 127 \[Type: long
+0x010\] LastY : 77 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e82a8))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e82a8)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 117 \[Type: long
+0x010\] LastY : 15 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e82c0))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e82c0)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 29 \[Type: long
+0x010\] LastY : 3 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e82d8))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e82d8)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x1 \[Type: unsigned long
+0x004\] ButtonFlags : 0x1 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 0 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e82f0))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e82f0)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x2 \[Type: unsigned long
+0x004\] ButtonFlags : 0x2 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 0 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8308))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8308)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x1 \[Type: unsigned long
+0x004\] ButtonFlags : 0x1 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 0 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8320))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8320)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x2 \[Type: unsigned long
+0x004\] ButtonFlags : 0x2 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : 0 \[Type: long
+0x010\] LastY : 0 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8338))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8338)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : -15 \[Type: long
+0x010\] LastY : 5 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> dx -id 0,0,807286c0 -r1 (*((win32k!_MOUSE_INPUT_DATA *)0xe16e8350))
(*((win32k!_MOUSE_INPUT_DATA *)0xe16e8350)) [Type: _MOUSE_INPUT_DATA]
+0x000\] UnitId : 0x0 \[Type: unsigned short
+0x002\] Flags : 0x0 \[Type: unsigned short
+0x004\] Buttons : 0x0 \[Type: unsigned long
+0x004\] ButtonFlags : 0x0 \[Type: unsigned short
+0x006\] ButtonData : 0x0 \[Type: unsigned short
+0x008\] RawButtons : 0x0 \[Type: unsigned long
+0x00c\] LastX : -47 \[Type: long
+0x010\] LastY : 10 \[Type: long
+0x014\] ExtraInformation : 0x0 \[Type: unsigned long
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=1007 y=667}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e82c0
bInjected = 0n0
bWakeRIT = 0n0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 1
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=1007 y=667}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e82d8
bInjected = 0n0
bWakeRIT = 0n0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 2
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=1007 y=667}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e82f0
bInjected = 0n0
bWakeRIT = 0n0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 1
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=1007 y=667}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e8308
bInjected = 0n0
bWakeRIT = 0n0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 2
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=1007 y=667}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e8320
bInjected = 0n0
bWakeRIT = 0n0
0: kd> g
Breakpoint 6 hit
win32k!QueueMouseEvent:
bf8e7542 55 push ebp
0: kd> dv
ButtonFlags = 0
ButtonData = 0
ExtraInfo = 0
ptMouse = {x=877 y=697}
time = 0n-3493359
hDevice = 0x00010047
pmei = 0xe16e8350
bInjected = 0n0
bWakeRIT = 0n1
0: kd> g
MOUCLASS-MouseClassRead: enter
Breakpoint 8 hit
win32k!xxxButtonEvent:
bf8e6c5e 55 push ebp
1: kd> kc
00 win32k!xxxButtonEvent
01 win32k!xxxDoButtonEvent
02 win32k!ProcessQueuedMouseEvents
03 win32k!RawInputThread
04 win32k!xxxCreateSystemThreads
05 win32k!NtUserCallOneParam
06 nt!_KiSystemService
07 SharedUserData!SystemCallStub
WARNING: Frame IP not in any known module. Following frames may be wrong.
08 0x0
09 0x0