fonction USBD_ValidateConfigurationDescriptor (usbdlib.h)

La routine USBD_ValidateConfigurationDescriptor valide tous les descripteurs retournés par un appareil dans sa réponse à une demande de descripteur de configuration.

Syntaxe

USBD_STATUS USBD_ValidateConfigurationDescriptor(
  [in]           PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
  [in]           ULONG                         BufferLength,
  [in]           USHORT                        Level,
  [out]          PUCHAR                        *Offset,
  [in, optional] ULONG                         Tag
);

Paramètres

[in] ConfigDesc

Pointeur vers un descripteur de configuration qui inclut tous les descripteurs d’interface, de point de terminaison, de fournisseur et de classe spécifiques récupérés à partir d’un périphérique USB.

[in] BufferLength

Taille, en octets, du descripteur de configuration en cours de validation.

[in] Level

Niveau de validation à effectuer. Les valeurs valides sont les suivantes :

  • 1-Validation de base de l’en-tête de descripteur de configuration.
  • 2 - Validation complète du descripteur de configuration, y compris la vérification des adresses de point de terminaison, des numéros d’interface, des structures de descripteurs, des paramètres d’interface de remplacement, du nombre d’interfaces et des champs bLength de tous les descripteurs.
  • 3-En plus de la validation pour les niveaux 1 et 2, le niveau 3 valide et valide le nombre de points de terminaison dans chaque interface, applique les tailles de descripteur bLength de la spécification USB et vérifie que tous les numéros d’interface sont dans l’ordre séquentiel.

[out] Offset

Décalage dans le descripteur de configuration où la validation a échoué. Valide uniquement lorsqu’un status autre qu’USBD_STATUS_SUCCESS est retourné.

[in, optional] Tag

Balise de pool utilisée par USBD_ValidateConfigurationDescriptor lors de l’allocation de mémoire.

Valeur retournée

USBD_STATUS_SUCCESS ou le code d’erreur USBD approprié si la validation a échoué.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les systèmes d’exploitation ultérieurs.
Plateforme cible Universal
En-tête usbdlib.h (inclure Usbdlib.h)
Bibliothèque Usbd.lib
IRQL PASSIVE_LEVEL

Voir aussi

Informations de référence sur la programmation du pilote de périphérique USB