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) |