WDF_USB_CONTROL_SETUP_PACKET union (wdfusb.h)
[適用於 KMDF 和 UMDF]
WDF_USB_CONTROL_SETUP_PACKET 結構描述 USB 控制項傳輸的設定封包。
語法
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;
成員
Packet
Packet.bm
Packet.bm.Request
Packet.bm.Request.Recipient
由 WDF_USB_BMREQUEST_RECIPIENT型別值指定的位欄位。
Packet.bm.Request.Reserved
保留位欄位。 請勿使用此成員。
Packet.bm.Request.Type
由 WDF_USB_BMREQUEST_TYPE型別值指定的位欄位。
Packet.bm.Request.Dir
由 WDF_USB_BMREQUEST_DIRECTION型別值指定的位欄位。
Packet.bm.Byte
位元組大小的位陣圖,其中包含 Request.Recipient、 Request.Reserved、 Request.Type 和 Request.Dir 位字段。 使用此成員做為指定個別位欄位的替代方案。
Packet.bRequest
要求類型。 要求類型常數定義於 Usb100.h 中。 如需要求類型的詳細資訊,請參閱 USB 規格。
Packet.wValue
Packet.wValue.Bytes
Packet.wValue.Bytes.LowByte
2 位元組、要求特定值的低位元組。 如需有關指定 wValue 的詳細資訊,請參閱 USB 規格。
Packet.wValue.Bytes.HiByte
2 位元組、要求特定值的高位元組。
Packet.wValue.Value
包含 Bytes.LowByte 和 Bytes.HiByte 值的 2 位元元組值。 使用此成員做為指定個別低位元組和高位元組值的替代方案。
Packet.wIndex
Packet.wIndex.Bytes
Packet.wIndex.Bytes.LowByte
2 位元組、要求特定值的低位元組。 如需有關指定 wValue 的詳細資訊,請參閱 USB 規格。
Packet.wIndex.Bytes.HiByte
2 位元組、要求特定值的高位元組。
Packet.wIndex.Value
包含 Bytes.LowByte 和 Bytes.HiByte 值的 2 位元元組值。 使用此成員做為指定個別低位元組和高位元組值的替代方案。
Packet.wLength
如果有的話,要傳輸的位元元組數目。 如需此值的詳細資訊,請參閱 USB 規格。 架構會設定此值。
Generic
Generic.Bytes[8]
表示整個安裝封包的8位元組值。 您可以使用這個成員做為指定個別結構成員的替代方案。
備註
WDF_USB_CONTROL_SETUP_PACKET 結構是做為 WdfUsbTargetDeviceSendControlTransferSynchronously 和 WdfUsbTargetDeviceFormatRequestForControlTransfer 方法的輸入。
若要初始化 WDF_USB_CONTROL_SETUP_PACKET 結構,驅動程式應該呼叫下列其中一個函式:
規格需求
需求 | 值 |
---|---|
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfusb.h (包含 Wdfusb.h) |