IWDFDevice :: CreateWdfFile возвращает ERROR_INVALID_FUNCTION? - PullRequest
1 голос
/ 11 января 2010

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

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

1 Ответ

0 голосов
/ 12 января 2010

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

...