Partager via


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 bit spécifié par une valeur de type WDF_USB_BMREQUEST_RECIPIENT.

Packet.bm.Request.Reserved

Champ de bits réservé. N’utilisez pas ce membre.

Packet.bm.Request.Type

Champ bit spécifié par une valeur de type WDF_USB_BMREQUEST_TYPE.

Packet.bm.Request.Dir

Champ bit spécifié par une valeur de type WDF_USB_BMREQUEST_DIRECTION.

Packet.bm.Byte

Bitmap de taille octet qui contient les champs de bits Request.Recipient, Request.Reserved, Request.Type et Request.Dir . 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 de 2 octets spécifique à la demande. Pour plus d’informations sur la spécification de wValue, consultez la spécification USB.

Packet.wValue.Bytes.HiByte

Octet élevé d’une valeur spécifique à la demande de 2 octets.

Packet.wValue.Value

Valeur de 2 octets qui contient les valeurs Bytes.LowByte et Bytes.HiByte . Utilisez ce membre comme alternative à la spécification de valeurs individuelles d’octets bas et d’octets élevés.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

Octet faible d’une valeur de 2 octets spécifique à la demande. Pour plus d’informations sur la spécification de wValue, consultez la spécification USB.

Packet.wIndex.Bytes.HiByte

Octet élevé d’une valeur spécifique à la demande de 2 octets.

Packet.wIndex.Value

Valeur de 2 octets qui contient les valeurs Bytes.LowByte et Bytes.HiByte . Utilisez ce membre comme alternative à la spécification de valeurs individuelles d’octets bas 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’ensemble 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 dans les méthodes WdfUsbTargetDeviceSendControlTransferSynchronously et WdfUsbTargetDeviceFormatRequestForControlTransfer .

Pour initialiser une structure WDF_USB_CONTROL_SETUP_PACKET , le pilote doit appeler l’une des fonctions suivantes :

Configuration requise

Condition requise Valeur
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfusb.h (inclure Wdfusb.h)

Voir aussi

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously