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