Вопрос

Я пишу драйвер датчика UMDF для устройства, которое подключается к системе через Bluetooth и доступно как устройство ввода HID.Я увидел образец драйвера "Sensor Development Kit" и заметил, что он также работает с оборудованием Freescale через HID, хотя подключается к системе через USB.Есть ли какая-либо разница в способе взаимодействия драйвера UMDF с устройством в случае, если оно подключается к системе через Bluetooth?По какой-то причине я нахожу, что призыв к CreateWdfFile ВОЗВРАТ ERROR_INVALID_FUNCTION даже когда у меня есть устройство, сопряженное с системой.Я могу получить доступ к устройству напрямую через HID просто отлично.

В INF для драйвера я указал идентификатор оборудования следующим образом - HID\VID_1234&PID_5678 (здесь не использовались фактические идентификаторы).Достаточно ли этого для платформы UMDF, чтобы определить, какой драйвер ей следует использовать дальше по стеку?Или есть что-то еще, что нужно сделать?

Это было полезно?

Решение

Мне удалось решить эту проблему самому.Оказывается, я использовал неправильный идентификатор оборудования.По наитию я посмотрел, с какими аппаратными идентификаторами было зарегистрировано устройство Bluetooth в разделе HKLM\SYSTEM\CurrentControlSet\Enum\HID и использовал другой идентификатор, который был там указан, и вуаля!- IWDFDevice::CreateWdfFile сработало!:) И, конечно же, это довольно четко описано в MSDN здесь.Итак, все хорошо!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top