Partager via


structure USB_DESCRIPTOR_REQUEST (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 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

Les membres de la structure SetupPacket définie conformément à la spécification officielle. Consultez la section 9.3.

SetupPacket.bmRequest

Type de demande d’appareil 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 à 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 d’appareil USB standard et un transfert de données appareil-à-hôte.

SetupPacket.bRequest

Numéro de demande. Lors de l’entrée de 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 à 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 le bas octet. 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 l’appareil.
USB_CONFIGURATION_DESCRIPTOR_TYPE Indique à la pile USB de retourner le descripteur de configuration et toutes les interfaces, points de terminaison, propres à la classe et descripteurs spécifiques 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 à récupérer.

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, ou la demande échoue.

Exigences

Exigence Valeur
d’en-tête usbioctl.h (include Usbioctl.h)

Voir aussi

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

structures USB