Compartir a través de


WDF_USB_CONTROL_SETUP_PACKET unión (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 de tipo WDF_USB_BMREQUEST_RECIPIENT.

Packet.bm.Request.Reserved

Un campo de bits reservado. No use este miembro.

Packet.bm.Request.Type

Campo de bits especificado por un WDF_USB_BMREQUEST_TYPEvalor con tipo.

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 el Request.Recipient de, Request.Reserved, Request.Typey campos request.Dir bit. 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, vea la especificación USB.

Packet.wValue.Bytes.HiByte

Alto byte de un valor específico de solicitud de 2 bytes.

Packet.wValue.Value

Valor de 2 bytes que contiene los 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, vea la especificación USB.

Packet.wIndex.Bytes.HiByte

Alto byte de un valor específico de solicitud de 2 bytes.

Packet.wIndex.Value

Valor de 2 bytes que contiene los 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.

Observaciones

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 funciones siguientes:

Requisitos

Requisito Valor
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de wdfusb.h (incluya Wdfusb.h)

Consulte también

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously