Vue d’ensemble de l’envoi de transferts de données USB dans les pilotes clients USB

Les articles de cette section fournissent des informations sur les canaux USB et les URB pour les demandes d’E/S, et décrivent comment un pilote client peut utiliser les interfaces de pilote de périphérique (DDIs) pour transférer des données vers et à partir d’un périphérique USB.

Un transfert a lieu chaque fois que les données sont déplacées entre le contrôleur hôte et le périphérique USB. En général, les transferts USB peuvent être largement classés en transferts de contrôle et transferts de données. Tous les périphériques USB doivent prendre en charge les transferts de contrôle et peuvent prendre en charge les points de terminaison pour les transferts de données. Chaque type de transfert est associé au type de point de terminaison USB (une mémoire tampon dans l’appareil). Le transfert de contrôle est associé au point de terminaison par défaut et les transferts de données utilisent des points de terminaison unidirectionnels. Les types de transfert de données utilisent des points de terminaison d’interruption, de bloc et d’isochronisme. La pile de pilotes USB crée un canal de communication appelé canal pour chaque point de terminaison pris en charge par l’appareil. L’une des extrémités du canal est le point de terminaison de l’appareil. L’autre extrémité du canal est toujours le contrôleur hôte.

Avant d’envoyer des demandes d’E/S à l’appareil, le pilote client doit récupérer des informations sur les configurations, les interfaces, les points de terminaison, le fournisseur et les descripteurs spécifiques à la classe à partir d’un périphérique USB. En outre, le pilote doit également configurer l’appareil. La configuration de l’appareil implique des tâches telles que la sélection d’une configuration et d’un autre paramètre au sein de chaque interface. Chaque autre paramètre peut spécifier un ou plusieurs points de terminaison USB disponibles pour les transferts de données.

Pour plus d’informations sur la configuration de l’appareil, consultez Comment sélectionner une configuration pour un périphérique USB et Comment sélectionner un autre paramètre dans une interface USB.

Une fois que le pilote client a configuré l’appareil, le pilote a accès aux poignées de canal créées par la pile de pilotes USB pour chaque point de terminaison dans l’autre paramètre actuellement sélectionné. Pour transférer des données vers un point de terminaison, un pilote client crée une requête en mettant en forme un URB spécifique au type de requête.

Contenu de cette section

Article Description
Comment envoyer un transfert de contrôle USB Cet article explique la structure d’un transfert de contrôle et la façon dont un pilote client doit envoyer une demande de contrôle à l’appareil.
Guide pratique pour énumérer des canaux USB Cet article fournit une vue d’ensemble des canaux USB et décrit les étapes requises par un pilote client USB pour obtenir des poignées de canal à partir de la pile de pilotes USB.
Comment utiliser le lecteur continu pour lire des données à partir d’un canal USB Cet article décrit l’objet lecteur continu fourni par WDF. Les procédures décrites dans cet article fournissent des instructions pas à pas sur la façon de configurer l’objet et de l’utiliser pour lire des données à partir d’un canal USB.
Comment envoyer des demandes de transfert USB en bloc Cet article fournit une brève vue d’ensemble des transferts USB en bloc. Il fournit également des instructions pas à pas sur la façon dont un pilote client peut envoyer et recevoir des données en bloc à partir de l’appareil.
Comment ouvrir et fermer des flux statiques dans un point de terminaison en bloc USB Cet article décrit la fonctionnalité de flux statiques et explique comment un pilote client USB peut ouvrir et fermer des flux dans un point de terminaison en bloc d’un appareil USB 3.0.
Comment transférer des données vers des points de terminaison isochroniques USB Cet article décrit comment un pilote client peut créer un bloc de requête USB (URB) pour transférer des données vers et à partir de points de terminaison isochronaux dans un périphérique USB.
Comment envoyer des DLL chaînées Dans cet article, vous allez découvrir la fonctionnalité mdl chaînée dans la pile de pilotes USB et comment un pilote client peut envoyer une mémoire tampon de transfert en tant que chaîne de structure MDL .
Comment récupérer à partir d’erreurs de canal USB Cet article fournit des informations sur les étapes que vous pouvez essayer en cas d’échec d’un transfert de données vers un canal USB. Les mécanismes décrits dans cet article couvrent l’abandon, la réinitialisation et le cycle des opérations de port sur les canaux en bloc, les interruptions et les canaux isochronieux.
Allocation de bande passante USB Cette section fournit des conseils concernant la gestion minutieuse de la bande passante USB.