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;

Membri

Packet

Packet.bm

Packet.bm.Request

Packet.bm.Request.Recipient

Campo di bit specificato da un valore WDF_USB_BMREQUEST_RECIPIENT-typed.

Packet.bm.Request.Reserved

Campo di bit riservato. Non utilizzare questo membro.

Packet.bm.Request.Type

Campo di bit specificato da un valore WDF_USB_BMREQUEST_TYPE-typed.

Packet.bm.Request.Dir

Campo di bit specificato da un valore WDF_USB_BMREQUEST_DIRECTION-typed.

Packet.bm.Byte

Bitmap di byte che contiene i campi request.recipient Request.Recipient, Request.Reserved, Request.Typee Request.Dir. Usare questo membro come alternativa alla specifica dei 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 su come specificare 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 di Bytes.LowByte e byte.HiByte . Usare questo membro come alternativa alla specifica di singoli valori di byte e byte bassi.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

Byte basso di un valore specifico della richiesta a 2 byte. Per altre informazioni su come specificare 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 di Bytes.LowByte e byte.HiByte . Usare questo membro come alternativa alla specifica di singoli valori di byte e byte bassi.

Packet.wLength

Numero di byte da trasferire, se applicabile. Per altre informazioni su questo valore, vedi 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.

Osservazioni

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

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

Fabbisogno

Requisito Valore
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione wdfusb.h (include Wdfusb.h)

Vedere anche

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously