WDF_USB_CONTROL_SETUP_PACKET union
[Applies to KMDF and UMDF]
The WDF_USB_CONTROL_SETUP_PACKET structure describes a setup packet for a USB control transfer.
Syntax
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;
Members
- Packet
-
- bm
-
- Request
-
- Recipient
-
A bit field that is specified by a WDF_USB_BMREQUEST_RECIPIENT-typed value.
- Reserved
-
A reserved bit field. Do not use this member.
- Type
-
A bit field that is specified by a WDF_USB_BMREQUEST_TYPE-typed value.
- Dir
-
A bit field that is specified by a WDF_USB_BMREQUEST_DIRECTION-typed value.
- Byte
-
A byte-sized bitmap that contains the Request.Recipient, Request.Reserved, Request.Type, and Request.Dir bit fields. Use this member as an alternative to specifying the individual bit fields.
- bRequest
-
A request type. Request type constants are defined in Usb100.h. For more information about request types, see the USB specification.
- wValue
-
- Bytes
-
- LowByte
-
The low byte of a 2-byte, request-specific value. For more information about specifying wValue, see the USB specification.
- HiByte
-
The high byte of a 2-byte, request-specific value.
- Value
-
A 2-byte value that contains the Bytes.LowByte and Bytes.HiByte values. Use this member as an alternative to specifying individual low-byte and high-byte values.
- wIndex
-
- Bytes
-
- LowByte
-
The low byte of a 2-byte, request-specific value. For more information about specifying wValue, see the USB specification.
- HiByte
-
The high byte of a 2-byte, request-specific value.
- Value
-
A 2-byte value that contains the Bytes.LowByte and Bytes.HiByte values. Use this member as an alternative to specifying individual low-byte and high-byte values.
- wLength
-
The number of bytes to transfer, if applicable. For more information about this value, see the USB specification. The framework sets this value.
- Generic
-
- Bytes
-
An 8-byte value that represents the entire setup packet. You can use this member as an alternative to specifying individual structure members.
Remarks
The WDF_USB_CONTROL_SETUP_PACKET structure is used as input to the WdfUsbTargetDeviceSendControlTransferSynchronously and WdfUsbTargetDeviceFormatRequestForControlTransfer methods.
To initialize a WDF_USB_CONTROL_SETUP_PACKET structure, the driver should call one of the following functions:
Requirements
Minimum KMDF version | 1.0 |
---|---|
Minimum UMDF version | 2.0 |
Header |
|
See also
- WDF_USB_BMREQUEST_DIRECTION
- WDF_USB_BMREQUEST_RECIPIENT
- WDF_USB_BMREQUEST_TYPE
- WdfUsbTargetDeviceFormatRequestForControlTransfer
- WdfUsbTargetDeviceSendControlTransferSynchronously