IWDFDevice :: CreateWdfFile返回ERROR_INVALID_FUNCTION?

问题描述:

我写通过蓝牙连接到系统,并且为HID输入设备可访问的设备中的传感器UMDF驱动。我看到了“Sensor Development Kit”示例驱动程序,并注意到它可以通过HID与飞思卡尔硬件一起工作,虽然它通过USB连接到系统。在UMDF驱动程序通过蓝牙连接到系统的情况下,与设备通信的方式有什么不同?出于某种原因,我发现调用CreateWdfFile返回ERROR_INVALID_FUNCTION甚至当我与系统配对的设备。我可以通过HID直接访问设备。IWDFDevice :: CreateWdfFile返回ERROR_INVALID_FUNCTION?

在INF为我所指定的硬件ID,像这样的司机 - HID\VID_1234&PID_5678(这里没有实际使用的标识)。这足以让UMDF框架确定它应该在堆栈中使用哪个驱动程序?或者有什么需要做的?

我设法解决这一个自己。原来我没有使用正确的硬件ID。心血来潮我抬头什么硬件ID的蓝牙设备已HKLM\SYSTEM\CurrentControlSet\Enum\HID下登记和使用的已获得有瞧另一个ID! - IWDFDevice::CreateWdfFile工作! :)当然,这在MSDN here上描述得相当清楚。所以,一切都很好!