union WDF_USB_CONTROL_SETUP_PACKET (wdfusb.h)
[S’applique à KMDF et UMDF]
La structure WDF_USB_CONTROL_SETUP_PACKET décrit un paquet d’installation pour un transfert de contrôle USB.
Syntaxe
typedef union _WDF_USB_CONTROL_SETUP_PACKET {
struct {
union {
struct {
BYTE Recipient : 2;
BYTE Reserved : 3;
BYTE Type : 2;
BYTE Dir : 1;
} Request;
BYTE Byte;
} bm;
BYTE bRequest;
union {
struct {
BYTE LowByte;
BYTE HiByte;
} Bytes;
USHORT Value;
} wValue;
union {
struct {
BYTE LowByte;
BYTE HiByte;
} Bytes;
USHORT Value;
} wIndex;
USHORT wLength;
} Packet;
struct {
BYTE Bytes[8];
} Generic;
} WDF_USB_CONTROL_SETUP_PACKET, *PWDF_USB_CONTROL_SETUP_PACKET;
Membres
Packet
Packet.bm
Packet.bm.Request
Packet.bm.Request.Recipient
Champ de bits spécifié par une valeur WDF_USB_BMREQUEST_RECIPIENT-typée.
Packet.bm.Request.Reserved
Champ de bits réservé. N’utilisez pas ce membre.
Packet.bm.Request.Type
Champ de bits spécifié par une valeur WDF_USB_BMREQUEST_TYPE-typée.
Packet.bm.Request.Dir
Champ de bits spécifié par une valeur WDF_USB_BMREQUEST_DIRECTION-typée.
Packet.bm.Byte
Bitmap de taille d’octet qui contient les Request.Recipient, Request.Reserved, Request.Typeet Request.Dir bits. Utilisez ce membre comme alternative à la spécification des champs de bits individuels.
Packet.bRequest
Type de requête. Les constantes de type de requête sont définies dans usb100.h. Pour plus d’informations sur les types de requêtes, consultez la spécification USB.
Packet.wValue
Packet.wValue.Bytes
Packet.wValue.Bytes.LowByte
Octet faible d’une valeur spécifique à une requête de 2 octets. Pour plus d’informations sur la spécification wValue, consultez la spécification USB.
Packet.wValue.Bytes.HiByte
Octet élevé d’une valeur spécifique à une requête de 2 octets.
Packet.wValue.Value
Valeur de 2 octets qui contient les valeurs Bytes.LowByte et valeurs Bytes.HiByte. Utilisez ce membre comme alternative à la spécification de valeurs individuelles de bas octets et d’octets élevés.
Packet.wIndex
Packet.wIndex.Bytes
Packet.wIndex.Bytes.LowByte
Octet faible d’une valeur spécifique à une requête de 2 octets. Pour plus d’informations sur la spécification wValue, consultez la spécification USB.
Packet.wIndex.Bytes.HiByte
Octet élevé d’une valeur spécifique à une requête de 2 octets.
Packet.wIndex.Value
Valeur de 2 octets qui contient les valeurs Bytes.LowByte et valeurs Bytes.HiByte. Utilisez ce membre comme alternative à la spécification de valeurs individuelles de bas octets et d’octets élevés.
Packet.wLength
Nombre d’octets à transférer, le cas échéant. Pour plus d’informations sur cette valeur, consultez la spécification USB. L’infrastructure définit cette valeur.
Generic
Generic.Bytes[8]
Valeur de 8 octets qui représente l’intégralité du paquet d’installation. Vous pouvez utiliser ce membre comme alternative à la spécification de membres de structure individuels.
Remarques
La structure WDF_USB_CONTROL_SETUP_PACKET est utilisée comme entrée aux méthodes WdfUsbTargetDeviceSendControlTransferSynchronously et WdfUsbTargetDeviceFormatRequestForControlTransfer.
Pour initialiser une structure WDF_USB_CONTROL_SETUP_PACKET, le pilote doit appeler l’une des fonctions suivantes :
Exigences
Exigence | Valeur |
---|---|
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | wdfusb.h (include Wdfusb.h) |