Partager via


structure _URB_CONTROL_FEATURE_REQUEST (usb.h)

La structure _URB_CONTROL_FEATURE_REQUEST est utilisée par les pilotes clients USB pour définir ou effacer des fonctionnalités sur un appareil, une interface ou un point de terminaison.

Syntaxe

struct _URB_CONTROL_FEATURE_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved2;
  ULONG                Reserved3;
  PVOID                Reserved4;
  PMDL                 Reserved5;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  USHORT               Reserved0;
  USHORT               FeatureSelector;
  USHORT               Index;
  USHORT               Reserved1;
};

Membres

Hdr

Pointeur vers une structure de _URB_HEADER qui spécifie les informations d’en-tête URB. Hdr.Function indique un ensemble ou une opération de fonctionnalité claire, à effectuer sur un appareil, une interface, un point de terminaison ou un autre composant non standard. Hdr.Function doit avoir l’une des valeurs suivantes :

Hdr.Length doit être égal à sizeof(_URB_CONTROL_FEATURE_REQUEST).

Reserved

Réservé. Ne pas utiliser.

Reserved2

Réservé. Ne pas utiliser.

Reserved3

Réservé. Ne pas utiliser.

Reserved4

Réservé. Ne pas utiliser.

Reserved5

Réservé. Ne pas utiliser.

UrbLink

Réservé. Ne pas utiliser.

hca

Réservé. Ne pas utiliser.

Reserved0

Réservé. Ne pas utiliser.

FeatureSelector

Spécifie le code de fonctionnalité défini par USB à effacer ou à définir. L’utilisation d’un code de fonctionnalité non valide, qui ne peut pas être défini ou qui ne peut pas être effacé entraîne le blocage de la cible. Le pilote de bus copie la valeur du membre FeatureSelector dans le champ wValue du paquet d’installation.

Index

Spécifie l’index défini par l’appareil, retourné par une demande de configuration réussie, si la demande concerne un point de terminaison ou une interface. Sinon, Index doit être égal à zéro. Le pilote de bus copie la valeur du membre Index dans le champ wIndex du paquet d’installation.

Reserved1

Réservé. Ne pas utiliser.

Remarques

Les pilotes peuvent utiliser la routine de service UsbBuildFeatureRequest pour mettre en forme cet URB.

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

Lorsqu’un pilote arme un périphérique USB pour une mise en éveil à distance avec une demande de IRP_MN_WAIT_WAKE, le pilote de bus USB définit automatiquement la fonctionnalité de mise en éveil à distance sur l’appareil. Une fonctionnalité de contrôle URB n’est pas nécessaire.

De même, lorsqu’un pilote émet un URB avec un type de fonction de URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL à un canal, le pilote de bus efface automatiquement la fonctionnalité de décrochage du point de terminaison du canal. Le pilote n’a pas besoin d’envoyer une fonctionnalité de contrôle URB au canal pour effacer le décrochage du point de terminaison.

Configuration requise

Condition requise Valeur
En-tête usb.h (inclure Usb.h)

Voir aussi

URB

USB Structures

_URB_HEADER