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) |