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