Compartir a través de


WDF_USB_CONTROL_SETUP_PACKET union (wdfusb.h)

[Se aplica a KMDF y UMDF]

La estructura WDF_USB_CONTROL_SETUP_PACKET describe un paquete de configuración para una transferencia de control USB.

Sintaxis

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;

Miembros

Packet

Packet.bm

Packet.bm.Request

Packet.bm.Request.Recipient

Campo de bits especificado por un valor con tipo WDF_USB_BMREQUEST_RECIPIENT.

Packet.bm.Request.Reserved

Campo de bits reservado. No use este miembro.

Packet.bm.Request.Type

Campo de bits especificado por un valor de tipo WDF_USB_BMREQUEST_TYPE.

Packet.bm.Request.Dir

Campo de bits especificado por un valor de tipo WDF_USB_BMREQUEST_DIRECTION.

Packet.bm.Byte

Mapa de bits de tamaño de bytes que contiene los campos de bits Request.Recipient, Request.Reserved, Request.Type y Request.Dir . Use este miembro como alternativa a especificar los campos de bits individuales.

Packet.bRequest

Tipo de solicitud. Las constantes de tipo de solicitud se definen en Usb100.h. Para obtener más información sobre los tipos de solicitud, consulte la especificación USB.

Packet.wValue

Packet.wValue.Bytes

Packet.wValue.Bytes.LowByte

Byte bajo de un valor específico de solicitud de 2 bytes. Para obtener más información sobre cómo especificar wValue, consulte la especificación USB.

Packet.wValue.Bytes.HiByte

Byte alto de un valor específico de solicitud de 2 bytes.

Packet.wValue.Value

Valor de 2 bytes que contiene los valores Bytes.LowByte y Bytes.HiByte . Use este miembro como alternativa a especificar valores individuales de bajo byte y de alto byte.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

Byte bajo de un valor específico de solicitud de 2 bytes. Para obtener más información sobre cómo especificar wValue, consulte la especificación USB.

Packet.wIndex.Bytes.HiByte

Byte alto de un valor específico de solicitud de 2 bytes.

Packet.wIndex.Value

Valor de 2 bytes que contiene los valores Bytes.LowByte y Bytes.HiByte . Use este miembro como alternativa a especificar valores individuales de bajo byte y de alto byte.

Packet.wLength

Número de bytes que se van a transferir, si procede. Para obtener más información sobre este valor, consulte la especificación USB. El marco establece este valor.

Generic

Generic.Bytes[8]

Valor de 8 bytes que representa todo el paquete de instalación. Puede usar este miembro como alternativa a especificar miembros de estructura individuales.

Comentarios

La estructura WDF_USB_CONTROL_SETUP_PACKET se usa como entrada para los métodos WdfUsbTargetDeviceSendControlTransferSynchronously y WdfUsbTargetDeviceFormatRequestForControlTransfer .

Para inicializar una estructura de WDF_USB_CONTROL_SETUP_PACKET , el controlador debe llamar a una de las siguientes funciones:

Requisitos

Requisito Value
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfusb.h (incluya Wdfusb.h)

Consulte también

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously