IWDFDevice::CreateWdfFile возвращает ERROR_INVALID_FUNCTION?
Я пишу драйвер датчика UMDF для устройства, которое подключается к системе через Bluetooth и доступно как устройство ввода HID. Я увидел образец драйвера "Sensor Development Kit" и заметил, что он работает с оборудованием Freescale через HID, хотя он подключается к системе через USB. Есть ли разница в том, как драйвер UMDF связывается с устройством, если оно подключается к системе через Bluetooth? По какой-то причине я нахожу, что призыв к CreateWdfFile
возвращается ERROR_INVALID_FUNCTION
даже когда у меня есть устройство в паре с системой. Я могу получить доступ к устройству напрямую через HID просто отлично.
В INF для драйвера я указал аппаратный идентификатор примерно так - HID\VID_1234&PID_5678
(не использовал фактические идентификаторы здесь). Достаточно ли этого для структуры UMDF, чтобы определить, какой драйвер следует использовать дальше в стеке? Или есть что-то еще, что нужно сделать?
1 ответ
Мне удалось решить это самостоятельно. Оказывается, я не использовал правильный аппаратный идентификатор. По какой-то причине я посмотрел, какие аппаратные идентификаторы были зарегистрированы в устройстве Bluetooth под HKLM\SYSTEM\CurrentControlSet\Enum\HID
и использовал другое удостоверение личности, которое было дано там и вуаля! - IWDFDevice::CreateWdfFile
работал!:) И конечно же, это довольно четко описано здесь на MSDN. Итак, все хорошо!