Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
En tant que développeur de pilotes, la compréhension de WinUSB (Windows USB) peut simplifier considérablement votre processus de développement, en particulier lorsque vous travaillez avec des périphériques USB. WinUSB est un pilote générique inclus dans Windows. Il vous permet de communiquer avec des périphériques USB sans avoir à écrire un pilote personnalisé. L’utilisation de ce pilote vous permet de gagner du temps, de réduire la complexité et de garantir la compatibilité entre différentes versions de Windows.
Avantages clés de l’utilisation de WinUSB
Développement simplifié
- Facilité d’utilisation : WinUSB extrait une grande partie de la complexité impliquée dans la communication USB, ce qui facilite l’interaction avec les périphériques USB.
- Aucun pilote personnalisé n’est nécessaire : pour de nombreux périphériques USB, WinUSB peut être utilisé directement, ce qui élimine la nécessité d’écrire et de gérer un pilote personnalisé.
Compatibilité multiplateforme
- Interface standardisée : WinUSB fournit une interface standardisée pour la communication USB, qui peut vous aider à garantir la compatibilité entre différentes versions de Windows.
Temps et efficacité des coûts
- Temps de développement réduit : l’utilisation de WinUSB peut réduire considérablement le temps nécessaire pour développer et tester un pilote USB.
- Coûts de maintenance inférieurs : Étant donné que Microsoft gère WinUSB, vous pouvez vous appuyer sur celui-ci mis à jour et pris en charge, ce qui réduit les coûts de maintenance à long terme.
Accès aux fonctionnalités USB
- Fonctionnalités USB complètes : WinUSB prend en charge un large éventail de fonctionnalités USB, notamment les transferts en bloc, les transferts de contrôle, les transferts d’interruption et les transferts isochrones.
Ce que vous pouvez accomplir avec WinUSB
Communication de l’appareil
- Transfert de données : envoyer et recevoir des données vers et depuis un périphérique USB à l’aide de transferts en bloc, de contrôle, d’interruption ou d’isochrones.
- Demandes de contrôle : envoyez des demandes de contrôle pour configurer l’appareil ou récupérer des informations.
Configuration de l’appareil
- Configuration de la configuration : sélectionnez des configurations, des interfaces et d’autres paramètres pour configurer l’appareil USB.
- Gestion des points de terminaison : gérer les points de terminaison pour le transfert de données.
Énumération de l’appareil
- Identification de l’appareil : énumérez et identifiez les périphériques USB connectés au système.
- Récupération du descripteur : récupérer des descripteurs d’appareil, des descripteurs de configuration, des descripteurs d’interface et des descripteurs de point de terminaison.
Applications personnalisées
- Applications en mode utilisateur : développez des applications en mode utilisateur qui communiquent avec des périphériques USB à l’aide de l’API WinUSB.
- Mises à jour du microprogramme : implémentez des mécanismes de mise à jour du microprogramme pour les périphériques USB.
Test et débogage
- Prototypage : prototype rapide de communication d’appareil USB pour tester les fonctionnalités matérielles.
- Débogage : utilisez WinUSB pour déboguer les problèmes de communication entre l’hôte et l’appareil USB.
Composants de WinUSB
WinUSB comprend
- Pilote en mode noyau (winusb.sys)
- Bibliothèque de liens dynamiques en mode utilisateur (winusb.dll) qui expose les fonctions WinUSB décrites dans winusb.h. Vous pouvez utiliser ces fonctions pour gérer les appareils USB avec un logiciel en mode utilisateur.
Par défaut, winusb.sys est installé dans la pile en mode noyau de l’appareil en tant que pilote de filtre supérieur. Les applications communiquent avec le pilote de fonction UMDF (User-Mode Driver Framework) de l’appareil pour émettre des demandes de contrôle d’E/S de lecture, d’écriture ou d’appareil. Dans cette configuration, winusb.sys sert de propriétaire d’alimentation et de Plug-and-Play de la pile d’appareils. Vous pouvez également installer winusb.sys en tant que pilote de fonction pour un périphérique USB.
Prise en main de WinUSB
Cette section contient des informations sur :
- la sélection du pilote approprié pour un appareil
- L'utilisation de WinUSB pour communiquer avec les appareils USB
- Installation de winusb.sys en tant que pilote de fonction pour un périphérique USB
Il inclut également des exemples de code détaillés qui montrent comment les applications et les périphériques USB communiquent.
Remarque
WinUSB prend en charge les transferts isochrones à partir de Windows 8.