天翼云驱动开发知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖驱动开发相关内容资讯。开发者在驱动开发专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
下面是一个有关如何使用 USB ETW 和 Netmon 对 Windows 无法识别的 USB 设备进行故障排除的示例。
UCX 执行根中心管理。 它模拟和管理虚拟控制与中断端点。 当主控制器驱动程序创建根中心对象时,UCX 会创建这些虚拟端点。
USB 多功能设备的驱动程序(称为复合驱动程序)可以向基础 USB 驱动程序堆栈注册和注销复合设备。 Microsoft 提供的驱动程序(Usbccgp.sys)是由 Windows 加载的默认复合驱动程序。 本文中的过程适用于替换Usbccgp.sys的基于 WDM的自定义 Windows 驱动程序模型 。
通用串行总线 (USB) 3.0 规范定义了一项称为 设备挂起的新功能。 该功能使复合设备的单个功能能够独立于其他功能进入低功耗状态。 考虑一个复合设备,它为键盘定义一个设备,为鼠标定义另一个设备。
Windows 操作系统中 (UDE) 支持 USB 模拟设备,用于开发模拟通用串行总线 (USB) 主机控制器驱动程序和连接的虚拟 USB 设备。 这两个组件组合成单个 KMDF 驱动程序,该驱动程序可以与 Microsoft 提供的 USB 设备模拟类扩展 (UdeCx) 通信。
USB 函数类扩展 (UFX) 使用 WDF 对象功能来定义这些特定于 USB 的 UFX 对象。
USB 客户端驱动程序可以获取对USB总线驱动程序接口的引用,并使用它来访问总线驱动程序例程,而不是使用 I/O 请求数据包 (IRP) 机制。
传统的 USB 连接使用两端都有 USB A 和 USB B 接头的电缆。 USB A 连接器始终插入主机端,USB B 连接器连接功能端,该功能端是手机) 或外设 (鼠标、键盘) 的设备
Windows 事件跟踪(ETW)是操作系统提供的通用高速跟踪设施。 它使用在内核中实现的缓冲和日志记录机制,为用户模式应用程序和内核模式设备驱动程序引发的事件提供跟踪机制。
windows USB 设备驱动开发-开发Type C接口的驱动程序(二)
如果 USB Type-C 硬件实现 USB Type-C 或电源传送 (PD) 物理层,但未实现供电所需的状态机,则需要编写 USB Type-C 端口控制器驱动程序。
USB 驱动程序堆栈 (2.0 和 3.0) 是 ETW 事件跟踪提供程序。 在 Windows 7 中,从 USB 驱动程序堆栈捕获事件跟踪时,可以从其他提供程序(如其他驱动程序和应用程序)捕获跟踪。 然后,可以读取合并的日志 (假设已为提供程序的事件跟踪) 创建了 Netmon 分析程序。
USB Type-C 连接or 系统软件接口(UCSI)驱动程序充当带有嵌入式控制器(EC)的 USB Type-C 系统的控制器驱动程序。
可以将 Xperf 与 Netmon 配合使用来分析跟踪数据,或分析与 USB 跟踪相同的时间线上的内核事件。 Xperf 位于 Windows Performance Toolkit 中,它是 Windows 评估和部署工具包 (ADK) 的一 部分。
如果 USB Type-C 系统未实现 PD 状态机,或者它实现了状态机,但不支持通过非 ACPI 传输 UCSI,则需要为连接器编写驱动程序。 如果存在,可以加载 Microsoft 提供的 UCSI 驱动程序。
可以使用 Microsoft 网络监视器(也称为 Netmon)查看 USB ETW 事件跟踪。 Netmon 不会自动分析跟踪。 它需要 USB ETW 分析程序。 USB ETW 分析程序是用网络监视器分析程序语言 (NPL) 编写的文本文件,用于描述 USB ETW 事件跟踪的结构。 分析程序还定义 USB 特定的列和筛选器。 这些分析程序使 Netmon 成为分析 USB ETW 跟踪的最佳工具。
Microsoft 为复合设备提供的名为 USB 通用父驱动程序 (Usbccgp.sys) 的独立驱动程序
Microsoft USB 测试工具 (MUTT) 是用于测试 USB 硬件与 Microsoft USB 驱动程序堆栈互操作性的设备集合。 本文简要概述了不同类型的 MUTT 设备、可以使用设备运行的测试,并建议控制器、中心、设备和 BIOS/UEFI 测试的拓扑。
在前面的章节《X86驱动:挂接SSDT内核钩子》我们通过代码的方式直接读取 KeServiceDescriptorTable 这个被导出的表结构从而可以直接读取到SSDT表的基址,而在Win64系统中 KeServiceDescriptor
首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为
2023-05-04 09:00:09
2023-05-04 09:00:09
2024-09-10 08:20:51
2024-09-10 08:20:57
2024-09-10 08:20:45
2024-09-10 08:20:57