USB_DESCRIPTOR_REQUEST structure (usbioctl.h)

La structure USB_DESCRIPTOR_REQUEST est utilisée avec la demande de contrôle d’E /S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION pour récupérer un ou plusieurs descripteurs pour l’appareil associé à l’index de connexion indiqué. Les champs de cette structure sont décrits dans la spécification Universal Serial Bus 3.1 disponible dans la bibliothèque de documents USB.

Syntaxe

typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

Membres

ConnectionIndex

Port dont les descripteurs sont récupérés.

SetupPacket

Membres de la structure SetupPacket définies conformément à la spécification officielle. Voir la section 9.3.

SetupPacket.bmRequest

Type de demande de périphérique USB (standard, classe ou fournisseur), direction du transfert de données et type de destinataire de données (appareil, interface ou point de terminaison). Lors de l’entrée dans la demande de contrôle d’E /S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, la pile USB ignore la valeur de bmRequest et insère une valeur de 0x80. Cette valeur indique une demande de périphérique USB standard et un transfert de données appareil-hôte.

SetupPacket.bRequest

Numéro de la demande. Lors de l’entrée dans la demande de contrôle d’E /S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, la pile USB ignore la valeur de bRequest et insère une valeur de 0x06. Cette valeur indique une demande de GET_DESCRIPTOR.

SetupPacket.wValue

Lors de l’entrée dans la demande de contrôle d’E /S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, l’appelant doit spécifier le type de descripteur à récupérer dans l’octet élevé de wValue et l’index de descripteur dans l’octet faible. Le tableau suivant répertorie les types de descripteurs possibles. Ces types de constantes sont définis dans l’en-tête Usbspec.h inclus dans le Kit de pilotes Windows.

Type de descripteur Signification
USB_DEVICE_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur de périphérique.
USB_CONFIGURATION_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur de configuration et tous les descripteurs d’interface, de point de terminaison, spécifiques à la classe et au fournisseur associés à la configuration actuelle.
USB_STRING_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur de chaîne indiqué.
USB_INTERFACE_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur d’interface indiqué.
USB_ENDPOINT_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur de point de terminaison indiqué.

SetupPacket.wIndex

Index spécifique à l’appareil du descripteur qui doit être récupéré.

SetupPacket.wLength

Longueur des données transférées pendant la deuxième phase du transfert de contrôle.

Data[0]

Lors de la sortie de la demande de contrôle d’E /S IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, ce membre contient les descripteurs récupérés.

Remarques

Si l’appelant spécifie une valeur de USB_CONFIGURATION_DESCRIPTOR_TYPE dans le membre wValue , la mémoire tampon de sortie doit être suffisamment grande pour contenir tous les descripteurs associés à la configuration actuelle, sinon la demande échoue.

Configuration requise

Condition requise Valeur
En-tête usbioctl.h (include Usbioctl.h)

Voir aussi

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

USB Structures