我目前正在为Nintendo Wii Remote开发KMDF HID 微型驱动程序。我的 HID 微型驱动程序替换了 HIDClass 驱动程序的 HidBth 微型驱动程序(我使用的是 KMDF HID 微型驱动程序示例,它实际上是一个筛选器驱动程序并使用此“kmdfhidminidriver”转发所有请求)。
所以我的问题是,当我关机时 Wii 遥控器(按下电源按钮或取出电池)时,PnP-Manager 将无法识别设备已消失。Windows 仍然在设备管理器中显示该设备,并认为一切正常且正在运行。设备消失的唯一提示是,L2CAP-Channel 已关闭,我得到了L2CAP-Callback,并使用指示符代码 “RemoteDisconnect”调用。
我的问题是,我如何向 PnP 管理器发出设备已断开连接的信号?我尝试使用“WdfDeviceSetDeviceState”并将“Removed”设置为 true。但随后设备管理器显示驱动程序错误(代码 24)。我想要一个解决方案,将设备从设备管理器中删除而不会出现任何错误,例如拔下 USB 设备。
附加信息:我正在使用 WDK 8 和 WDF 1.11;驱动程序目标系统是 Win 7 和 8。