Windows 向PnP管理器发送设备不存在的信号
我目前正在为任天堂Wii遥控器开发KMDF HID微型驱动程序。我的 HID minidriver替换我正在使用的HIDClass驱动程序的HidBth minidriver KMDF HID迷你驱动程序示例,它实际上是一个过滤器驱动程序,并使用 此KMDFIDMINIdriver用于转发所有请求 所以我的问题是,当我按下电源按钮或取下电池关闭Wii遥控器电源时,PnP管理器不会启动 确认设备不见了。Windows仍然在设备管理器中显示该设备,并认为一切都很好 跑步唯一的提示是L2CAP通道已关闭,设备已关闭 关闭,我得到了L2CAP回调,调用了指示符代码 远程断开连接 我的问题是,如何向PnP管理器发送设备已断开连接的信号?我 尝试使用WdfDeviceSetDeviceState并将Removed设置为true。但是后来 设备管理器显示驱动程序错误代码24。我想要一个解决方案, 在没有任何错误的情况下从设备管理器中删除设备,如 拔下USB设备的插头 附加信息:我正在使用WDK 8和WDF 1.11;驾驶员目标系统是Windows 向PnP管理器发送设备不存在的信号,windows,driver,hid,device-manager,kmdf,Windows,Driver,Hid,Device Manager,Kmdf,我目前正在为任天堂Wii遥控器开发KMDF HID微型驱动程序。我的 HID minidriver替换我正在使用的HIDClass驱动程序的HidBth minidriver KMDF HID迷你驱动程序示例,它实际上是一个过滤器驱动程序,并使用 此KMDFIDMINIdriver用于转发所有请求 所以我的问题是,当我按下电源按钮或取下电池关闭Wii遥控器电源时,PnP管理器不会启动 确认设备不见了。Windows仍然在设备管理器中显示该设备,并认为一切都很好 跑步唯一的提示是L2CAP通道已关
赢7分和8分。好的,我必须使用HidNotifyPresence。它是hidport.h中的原型,但不幸的是还没有文档记录 这需要两个论点。第一个是设备对象,可能是FDO。第二个是布尔值。如果为true,将重新枚举设备,否则将意外删除设备 因为我的驱动程序是一个过滤器驱动程序,所以我需要提供自己的PassThrough shim微型端口驱动程序,它将FDO和HidNotifyPresence地址传递给过滤器驱动程序