Condividi tramite


unione WDF_USB_CONTROL_SETUP_PACKET (wdfusb.h)

[Si applica a KMDF e UMDF]

La struttura WDF_USB_CONTROL_SETUP_PACKET descrive un pacchetto di installazione per un trasferimento di controllo USB.

Sintassi

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;

Members

Packet

Packet.bm

Packet.bm.Request

Packet.bm.Request.Recipient

Campo di bit specificato da un valore tipizzato WDF_USB_BMREQUEST_RECIPIENT.

Packet.bm.Request.Reserved

Campo di bit riservato. Non utilizzare questo membro.

Packet.bm.Request.Type

Campo di bit specificato da un valore tipizzato WDF_USB_BMREQUEST_TYPE.

Packet.bm.Request.Dir

Campo di bit specificato da un valore tipizzato WDF_USB_BMREQUEST_DIRECTION.

Packet.bm.Byte

Bitmap di dimensioni byte che contiene i campi di bit Request.Recipient, Request.Reserved, Request.Type e Request.Dir . Utilizzare questo membro come alternativa per specificare i singoli campi di bit.

Packet.bRequest

Tipo di richiesta. Le costanti del tipo di richiesta sono definite in Usb100.h. Per altre informazioni sui tipi di richiesta, vedere la specifica USB.

Packet.wValue

Packet.wValue.Bytes

Packet.wValue.Bytes.LowByte

Byte basso di un valore specifico della richiesta a 2 byte. Per altre informazioni sulla specifica di wValue, vedere la specifica USB.

Packet.wValue.Bytes.HiByte

Byte elevato di un valore specifico della richiesta a 2 byte.

Packet.wValue.Value

Valore a 2 byte che contiene i valori Bytes.LowByte e Bytes.HiByte . Usare questo membro come alternativa per specificare singoli valori di byte basso e byte elevato.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

Byte basso di un valore specifico della richiesta a 2 byte. Per altre informazioni sulla specifica di wValue, vedere la specifica USB.

Packet.wIndex.Bytes.HiByte

Byte elevato di un valore specifico della richiesta a 2 byte.

Packet.wIndex.Value

Valore a 2 byte che contiene i valori Bytes.LowByte e Bytes.HiByte . Usare questo membro come alternativa per specificare singoli valori di byte basso e byte elevato.

Packet.wLength

Numero di byte da trasferire, se applicabile. Per altre informazioni su questo valore, vedere la specifica USB. Il framework imposta questo valore.

Generic

Generic.Bytes[8]

Valore a 8 byte che rappresenta l'intero pacchetto di installazione. È possibile utilizzare questo membro come alternativa per specificare singoli membri della struttura.

Commenti

La struttura WDF_USB_CONTROL_SETUP_PACKET viene usata come input per i metodi WdfUsbTargetDeviceSendControlTransferSynchronously e WdfUsbTargetDeviceFormatRequestForControlTransfer .

Per inizializzare una struttura WDF_USB_CONTROL_SETUP_PACKET , il driver deve chiamare una delle funzioni seguenti:

Requisiti

Requisito Valore
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfusb.h (include Wdfusb.h)

Vedi anche

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously