Visão geral do minidriver de transporte
Esta seção contém detalhes para fornecedores que precisam criar seus próprios minidrivers HID. Se o dispositivo exigir USB, Bluetooth, Bluetooth LE, I²C, GPIO como transporte, use o driver interno fornecido pela Microsoft. Para ver a lista de minidrivers de transporte em caixa, consulte Transportes HID.
Para outros transportes, você precisará gravar minidrivers de transporte.
Os minidrivers HID podem ser escritos usando uma das seguintes estruturas:
- UMDF – Estrutura de Driver do Modo de Usuário
- KMDF – Estrutura do Driver do Modo Kernel
- WDM – Modelo de Driver herdado do Windows
Nota A Microsoft incentiva os fornecedores de hardware a usar os minidrivers de transporte in-box sempre que possível. No entanto, se o dispositivo exigir um transporte sem suporte, a Microsoft recomenda usar o UMDF (Windows Driver Framework ou KMDF) como o modelo de driver para o minidriver. Você só deverá criar um minidriver WDM se não houver suporte para um transporte específico na Estrutura de Driver do Windows.
A Microsoft recomenda que os desenvolvedores usem a estrutura UMDF como ponto de partida. Somente se uma funcionalidade não estiver disponível para UMDF, considere escrever um driver KMDF. Para obter informações sobre a comparação de funcionalidades nas duas estruturas de driver, consulte Comparando a funcionalidade UMDF 2 com o KMDF.
Em relação aos minidrivers de transporte HID, o modelo KMDF tem as seguintes advertências:
- Vantagem: o suporte ao KMDF está disponível em todas as plataformas Windows que dão suporte ao WDF. Necessário para todos os drivers de filtro de teclado e mouse.
- Desafio: minidrivers de transporte KMDF HID mal escritos podem falhar no sistema.
Aqui estão as advertências específicas de HID para o modelo UMDF:
- Vantagem: o UMDF é mais fácil de desenvolver e recomendado para a maioria das classes de dispositivo verticais. Os erros neste driver não marcar todo o sistema. Para obter mais informações, consulte Vantagens de escrever drivers UMDF.
- Desafio: não há suporte para minidrivers de transporte UMDF HID em versões do Windows antes de Windows 8. Um driver UMDF pode receber solicitações de E/S de um driver no modo kernel. Essas transições podem ter um pequeno impacto no desempenho.