news 2026/5/10 7:53:18

mouclass!MouseClassReadCopyData函数分析之In前Out后的情形和Out前In后的情形----非常重要

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mouclass!MouseClassReadCopyData函数分析之In前Out后的情形和Out前In后的情形----非常重要

mouclass!MouseClassReadCopyData函数分析之In前Out后的情形和Out前In后的情形
0: kd> g
Breakpoint 0 hit
mouclass!MouseClassReadCopyData:
f74f9d26 55              push    ebp
0: kd> kc 4
 #
00 mouclass!MouseClassReadCopyData
01 mouclass!MouseClassHandleRead
02 mouclass!MouseClassRead
03 nt!IofCallDriver
0: kd> dv DeviceExtension
DeviceExtension = 0x894060f0
0: kd> dx -r1 ((mouclass!_DEVICE_EXTENSION *)0x894060f0)
((mouclass!_DEVICE_EXTENSION *)0x894060f0)                 : 0x894060f0 [Type: _DEVICE_EXTENSION *]
    [+0x000] Self             : 0x89406038 : Device for "\Driver\Mouclass" [Type: _DEVICE_OBJECT *]
    [+0x004] TrueClassDevice  : 0x89406038 : Device for "\Driver\Mouclass" [Type: _DEVICE_OBJECT *]
    [+0x008] TopPort          : 0x898db158 : Device for "\Driver\mouhid" [Type: _DEVICE_OBJECT *]
    [+0x00c] PDO              : 0x89536cc0 : Device for "\Driver\hidusb" [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       : 0x4 [Type: unsigned long]
    [+0x078] SymbolicLinkName : "\??\HID#Vid_0e0f&Pid_0003&MI_00#8&28f6544d&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}" [Type: _UNICODE_STRING]
    [+0x080] InputData        : 0x898531b0 [Type: _MOUSE_INPUT_DATA *]
    [+0x084] DataIn           : 0x898534e0 [Type: _MOUSE_INPUT_DATA *]
    [+0x088] DataOut          : 0x89853480 [Type: _MOUSE_INPUT_DATA *]
    [+0x08c] MouseAttributes  [Type: _MOUSE_ATTRIBUTES]
    [+0x098] SpinLock         : 0x895aada1 [Type: unsigned long]
    [+0x09c] ReadQueue        [Type: _LIST_ENTRY]
    [+0x0a4] SequenceNumber   : 0x18 [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 : PowerDeviceD0 (1) [Type: _DEVICE_POWER_STATE]
    [+0x0ec] MinSystemWakeState : PowerSystemSleeping1 (2) [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 -r1 (*((mouclass!_MOUSE_ATTRIBUTES *)0x8940617c))
(*((mouclass!_MOUSE_ATTRIBUTES *)0x8940617c))                 [Type: _MOUSE_ATTRIBUTES]
    [+0x000] MouseIdentifier  : 0x0 [Type: unsigned short]
    [+0x002] NumberOfButtons  : 0x0 [Type: unsigned short]
    [+0x004] SampleRate       : 0x0 [Type: unsigned short]
    [+0x008] InputDataQueueLength : 0x960 [Type: unsigned long]
0: kd> dt MOUSE_INPUT_DATA 0x89853480
i8042prt!MOUSE_INPUT_DATA
   +0x000 UnitId           : 1
   +0x002 Flags            : 1
   +0x004 Buttons          : 0
   +0x004 ButtonFlags      : 0
   +0x006 ButtonData       : 0
   +0x008 RawButtons       : 0
   +0x00c LastX            : 0n37404
   +0x010 LastY            : 0n32466
   +0x014 ExtraInformation : 0
0: kd> dt MOUSE_INPUT_DATA 0x89853480+18
i8042prt!MOUSE_INPUT_DATA
   +0x000 UnitId           : 1
   +0x002 Flags            : 1
   +0x004 Buttons          : 0
   +0x004 ButtonFlags      : 0
   +0x006 ButtonData       : 0
   +0x008 RawButtons       : 0
   +0x00c LastX            : 0n37404
   +0x010 LastY            : 0n32466
   +0x014 ExtraInformation : 0
0: kd> dt MOUSE_INPUT_DATA 0x89853480+18*2
i8042prt!MOUSE_INPUT_DATA
   +0x000 UnitId           : 1
   +0x002 Flags            : 1
   +0x004 Buttons          : 0
   +0x004 ButtonFlags      : 0
   +0x006 ButtonData       : 0
   +0x008 RawButtons       : 0
   +0x00c LastX            : 0n37404
   +0x010 LastY            : 0n32466
   +0x014 ExtraInformation : 0
0: kd> dt MOUSE_INPUT_DATA 0x8985

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 9:29:08

Open-AutoGLM网页端操作全流程解析,一键部署不再是难题

第一章:Open-AutoGLM网页端怎么用Open-AutoGLM 是一款基于大语言模型的自动化代码生成工具,其网页端提供了直观的交互界面,帮助开发者快速生成、调试和部署代码。用户无需本地配置复杂环境,只需通过浏览器即可完成全流程操作。访问…

作者头像 李华
网站建设 2026/4/30 19:09:48

NVIDIA显卡优化终极指南:从新手到高手的完整教程

你知道吗?你的NVIDIA显卡其实隐藏着巨大的性能潜力,就像一辆超级跑车等待被解锁!很多用户只是简单安装了驱动,却不知道通过nvidia-settings这个官方工具,就能轻松实现显卡性能的全面提升。🎯 【免费下载链接…

作者头像 李华
网站建设 2026/4/28 16:02:31

2026年企业注册资本实缴新规:机遇与挑战并存下的税务规划指南

摘要:本文聚焦2026年1月1日起实施的单位和个人用专利、知识产权等无形资产实缴注册资本新规,对比新规前后政策差异,分析其对企业的具体影响。同时,指出2025年作为政策红利期的重要性,介绍以知识产权实缴的操作方式及成…

作者头像 李华
网站建设 2026/4/25 16:01:50

24、文本编辑与Shell脚本入门指南

文本编辑与Shell脚本入门指南 1. Kate文本编辑器 1.1 启动与打开文件 Kate可以通过KDE主菜单(Editors -> Kate)启动,也可以在KDE和GNOME环境下,通过运行命令或在终端窗口中输入“Kate”来启动。默认情况下,Kate会打开上次编辑的文件。若要禁止此功能,可点击“Setti…

作者头像 李华
网站建设 2026/5/5 19:52:59

基于Spring Boot+React+deepSeek多部门权限批量文件上传企业知识库管理系统平台介绍

一、项目背景及简介在信息化时代,企业积累了大量的文档资料、技术规范、业务流程等知识资产,但传统的文档管理方式存在查找困难、权限混乱、知识孤岛等问题。本系统致力于构建一个智能化的企业知识库管理平台,通过现代化的技术架构和AI驱动的…

作者头像 李华