structure _URB_CONTROL_GET_STATUS_REQUEST (usb.h)
La structure _URB_CONTROL_GET_STATUS_REQUEST est utilisée par les pilotes clients USB pour récupérer l’état d’un appareil, d’une interface, d’un point de terminaison ou d’une autre cible définie par l’appareil.
Syntaxe
struct _URB_CONTROL_GET_STATUS_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved0;
ULONG TransferBufferLength;
PVOID TransferBuffer;
PMDL TransferBufferMDL;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
UCHAR Reserved1[4];
USHORT Index;
USHORT Reserved2;
};
Membres
Hdr
Pointeur vers une structure _URB_HEADER qui spécifie les informations d’en-tête URB.
Hdr.Length doit être sizeof(_URB_CONTROL_GET_STATUS_REQUEST)
, et Hdr.Function doit être l’une des valeurs suivantes :
- URB_FUNCTION_GET_STATUS_FROM_DEVICE
- URB_FUNCTION_GET_STATUS_FROM_INTERFACE
- URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
- URB_FUNCTION_GET_STATUS_FROM_OTHER
Reserved
Réservé. N’utilisez pas.
Reserved0
Réservé. N’utilisez pas.
TransferBufferLength
Doit être 2. Ce membre 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 envoyés ou lus à partir du canal dans ce membre.
TransferBuffer
Pointeur vers une mémoire tampon résidente pour le transfert ou est NULL si un MDL est fourni dans transferBufferMDL. Le pilote de bus retourne un octet unique spécifiant l’état de la cible.
TransferBufferMDL
Pointeur vers un MDL qui décrit une mémoire tampon résidente ou est NULL si une mémoire tampon est fournie dans TransferBuffer. Le pilote de bus retourne un octet unique spécifiant l’état de la cible. Ce MDL doit être alloué à partir d’un pool non paginé.
UrbLink
Réservé. N’utilisez pas.
hca
Réservé. N’utilisez pas.
Reserved1[4]
Réservé. N’utilisez pas.
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, d’index doit être égal à zéro.
Reserved2
Réservé. N’utilisez pas.
Remarques
Les pilotes peuvent utiliser la routine de service UsbBuildGetStatusRequest pour mettre en forme cette URB.
Les membres réservés de cette structure doivent être traités comme opaques et sont réservés à une utilisation système.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | usb.h (include Usb.h) |