WDF_USB_CONTROL_SETUP_PACKET união (wdfusb.h)

[Aplica-se a KMDF e UMDF]

A estrutura WDF_USB_CONTROL_SETUP_PACKET descreve um pacote de instalação para uma transferência de controle USB.

Sintaxe

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;

Membros

Packet

Packet.bm

Packet.bm.Request

Packet.bm.Request.Recipient

Um campo de bits especificado por um valor de tipo WDF_USB_BMREQUEST_RECIPIENT.

Packet.bm.Request.Reserved

Um campo de bits reservado. Não use esse membro.

Packet.bm.Request.Type

Um campo de bits especificado por um valor do tipo WDF_USB_BMREQUEST_TYPE.

Packet.bm.Request.Dir

Um campo de bits especificado por um valor do tipo WDF_USB_BMREQUEST_DIRECTION.

Packet.bm.Byte

Um bitmap do tamanho de um byte que contém os campos de bits Request.Recipient, Request.Reserved, Request.Type e Request.Dir . Use esse membro como uma alternativa para especificar os campos de bits individuais.

Packet.bRequest

Um tipo de solicitação. As constantes de tipo de solicitação são definidas em Usb100.h. Para obter mais informações sobre tipos de solicitação, consulte a especificação USB.

Packet.wValue

Packet.wValue.Bytes

Packet.wValue.Bytes.LowByte

O byte baixo de um valor específico de solicitação de 2 bytes. Para obter mais informações sobre como especificar wValue, consulte a especificação USB.

Packet.wValue.Bytes.HiByte

O byte alto de um valor específico de solicitação de 2 bytes.

Packet.wValue.Value

Um valor de 2 bytes que contém os valores Bytes.LowByte e Bytes.HiByte . Use esse membro como uma alternativa para especificar valores individuais de baixo byte e de alto byte.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

O byte baixo de um valor específico de solicitação de 2 bytes. Para obter mais informações sobre como especificar wValue, consulte a especificação USB.

Packet.wIndex.Bytes.HiByte

O byte alto de um valor específico de solicitação de 2 bytes.

Packet.wIndex.Value

Um valor de 2 bytes que contém os valores Bytes.LowByte e Bytes.HiByte . Use esse membro como uma alternativa para especificar valores individuais de baixo byte e de alto byte.

Packet.wLength

O número de bytes a serem transferidos, se aplicável. Para obter mais informações sobre esse valor, consulte a especificação USB. A estrutura define esse valor.

Generic

Generic.Bytes[8]

Um valor de 8 bytes que representa todo o pacote de instalação. Você pode usar esse membro como uma alternativa para especificar membros de estrutura individuais.

Comentários

A estrutura WDF_USB_CONTROL_SETUP_PACKET é usada como entrada para os métodos WdfUsbTargetDeviceSendControlTransferSynchronously e WdfUsbTargetDeviceFormatRequestForControlTransfer .

Para inicializar uma estrutura de WDF_USB_CONTROL_SETUP_PACKET , o driver deve chamar uma das seguintes funções:

Requisitos

Requisito Valor
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfusb.h (inclua Wdfusb.h)

Confira também

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously