Partager via


structure _URB_OS_FEATURE_DESCRIPTOR_REQUEST (usb.h)

La structure _URB_OS_FEATURE_DESCRIPTOR_REQUEST est utilisée par le pilote de hub USB pour récupérer les descripteurs de caractéristiques du système d’exploitation Microsoft à partir d’un périphérique USB ou d’une interface sur un périphérique USB.

Syntaxe

struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Recipient : 5;
  UCHAR                Reserved1 : 3;
  UCHAR                Reserved2;
  UCHAR                InterfaceNumber;
  UCHAR                MS_PageIndex;
  USHORT               MS_FeatureDescriptorIndex;
  USHORT               Reserved3;
};

Membres

Hdr

Pointeur vers une structure de _URB_HEADER qui spécifie les informations d’en-tête URB. Hdr.Function doit URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR. Hdr.Length doit être sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST).

Reserved

Reserved0

TransferBufferLength

Spécifie la longueur, en octets, de la mémoire tampon spécifiée dans TransferBuffer ou décrite dans TransferBufferMDL. Le pilote du contrôleur hôte retourne le nombre d’octets lus dans ce membre. L’implémentation actuelle de cette fonction limite la taille maximale du descripteur de fonctionnalité MS OS à 4 Kilooctets.

TransferBuffer

Pointeur vers une mémoire tampon résidente pour le transfert ou est NULL si un MDL est fourni dans TransferBufferMDL.

TransferBufferMDL

Pointeur vers un MDL qui décrit une mémoire tampon résidente ou a la valeur NULL si une mémoire tampon est fournie dans TransferBuffer. Cette MDL doit être allouée à partir d’un pool non paginé.

UrbLink

Réservé. Ne pas utiliser.

hca

Recipient

Spécifie si le destinataire est le périphérique USB ou une interface sur le périphérique USB. L’une des valeurs suivantes doit être spécifiée :

  • 0 indique que le périphérique USB est le destinataire de la demande.
  • 1 indique qu’une interface USB est le destinataire de la demande.
  • 2 indique qu’un point de terminaison USB est le destinataire de la demande.

Reserved1

Reserved2

InterfaceNumber

Indique le numéro d’interface qui est le destinataire de la demande, si la valeur du membre destinataire est 1. Doit être défini sur 0 si le périphérique USB est le destinataire.

MS_PageIndex

Doit avoir la valeur 0. Index de page de la page 64 000 du descripteur de fonctionnalités MS OS à retourner. L’implémentation actuelle prend uniquement en charge une taille maximale de descripteur de 4K.

MS_FeatureDescriptorIndex

Index pour le descripteur de fonctionnalités MS OS à demander.

Reserved3

Remarques

Les membres réservés de cette structure doivent être traités comme opaques et sont réservés à l’utilisation du système.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans les systèmes d’exploitation Windows XP et ultérieurs.
En-tête usb.h (inclure Usb.h)

Voir aussi

URB

_URB_HEADER