Vue d’ensemble du transport HID

Transports HID pris en charge dans Windows

Transport Minidriver en boîte Version Notes
USB Hidusb.sys Windows 7 et versions ultérieures. La prise en charge d’USB HID 1.11+ est fournie sur les systèmes d’exploitation Windows datant de Windows 2000.
Bluetooth Hidbth.sys Windows 7 et versions ultérieures. La prise en charge de Bluetooth HID 1.1+ est fournie sur les systèmes d’exploitation Windows datant de Windows Vista.
Bluetooth LE HidBthLE.dll Windows 8 et ultérieur. Windows 8 introduit la prise en charge de HID via Bluetooth LE.
I²C Hidi2c.sys Windows 8 et ultérieur. Windows 8 introduit la prise en charge de HID sur I2C.
GPIO Hidinterrupt.sys Windows 10 et versions ultérieures. Windows 10 introduit la prise en charge des boutons d’E/S à usage général (GPIO).
SPI HidSpi.sys Windows 10 et versions ultérieures. Windows 11 introduit la prise en charge de HID sur l’interface SPI (Serial Peripheral Interface).

Microsoft recommande d’utiliser les pilotes inclus pour les transports répertoriés dans le tableau précédent.

Si un appareil nécessite un transport autre qu’USB, Bluetooth, Bluetooth LE ou I²C, un pilote miniport comme décrit dans Transport Minidrivers est recommandé.

Limites de transport HID

  • Longueur du descripteur de rapport

    Un minidriver de transport envoie des descripteurs de rapport à Hidclass dans une structure HID_DESCRIPTOR . Quelle que soit la taille définie par le protocole de transport pour le transfert du descripteur de rapport HID avec leurs appareils, la taille réelle du descripteur de rapport est limitée pendant la communication entre hidclass et les minidrivers HID.

  • CTL dans un descripteur de rapport

    La paire de pilotes Hidclass/Hidparse connaît le nombre de TDC dans un descripteur de rapport. Les pilotes de miniport HID ne disposent pas de ces informations. Chaque TLC a au moins 2 octets pour démarrer une collection et 1 octet pour terminer la collection.

  • Longueur du rapport d’entrée/sortie/fonctionnalité

    La paire de pilotes Hidclass/Hidparse définit les longueurs des rapports d’entrée, de sortie et de fonctionnalité HID. La limite est de 8 Ko (moins 1 bit). Même si un minidriver HID peut demander un transfert de plus de 8 Ko pour un rapport, seuls les rapports inférieurs à 8 Ko sont transférés avec succès.

Minidriver en boîte Longueur du descripteur de rapport CTL dans un descripteur de rapport Longueur du rapport d’entrée/sortie/fonctionnalité
Hidclass/Hidparse 65535 octets 21845 8 Ko - 1 bit
Hidusb 65535 octets N/A 64 Ko
Hidbth 65535 octets N/A 64 Ko
HidBthLE 65535 octets N/A 64 Ko
Hidi2c 65535 octets N/A 64 Ko
Hidspi 65535 octets N/A 64 Ko

Voir aussi

Le test HID générique USB dans le kit HLK (Windows Hardware Lab Kit) couvre les pilotes HidUsb et HidClass. Il n’existe aucun test HLK pour les mini-pilotes HID tiers.