IWDFDevice :: CreateWdfFile retorna ERROR_INVALID_FUNCTION?
-
19-09-2019 - |
Pergunta
Eu estou escrevendo um driver de sensor UMDF para um dispositivo que se conecta ao sistema via Bluetooth e é acessível como um dispositivo de entrada HID. Eu vi o "Sensor Development Kit" driver exemplo e notou que ele funciona com o hardware Freescale via HID também que ele se conecta ao sistema via USB. Existe alguma diferença na maneira como as comunica motorista UMDF com o dispositivo no caso de ele se conecta ao sistema via Bluetooth? Por alguma razão, eu acho que a chamada para CreateWdfFile
retornos ERROR_INVALID_FUNCTION
mesmo quando eu tenho o dispositivo emparelhado com o sistema. Eu sou capaz de acessar o dispositivo diretamente através HID muito bem.
No INF para o motorista que tiver especificado o ID de hardware como assim - HID\VID_1234&PID_5678
(não usei os IDs reais aqui). Isso é suficiente para o quadro UMDF para determinar qual driver ele deve usar ainda mais para baixo da pilha? Ou há alguma outra coisa que é preciso fazer?
Solução
Eu consegui resolver isso mesmo. Acontece que eu não estava usando a identificação de hardware correta. Por um capricho eu olhei para o que IDs de hardware do dispositivo Bluetooth haviam sido registradas sob HKLM\SYSTEM\CurrentControlSet\Enum\HID
e usado outra identificação que tinha sido dado lá e voila! - IWDFDevice::CreateWdfFile
funcionou! :) E com certeza, esta é descrita claramente no MSDN aqui . Então, tudo é bom!