WDF_USB_CONTROL_SETUP_PACKET_INIT function (wdfusb.h)

[Applies to KMDF and UMDF]

The WDF_USB_CONTROL_SETUP_PACKET_INIT function initializes a WDF_USB_CONTROL_SETUP_PACKET structure for a standard USB control transfer.

Syntax

void WDF_USB_CONTROL_SETUP_PACKET_INIT(
  [out] PWDF_USB_CONTROL_SETUP_PACKET Packet,
  [in]  WDF_USB_BMREQUEST_DIRECTION   Direction,
  [in]  WDF_USB_BMREQUEST_RECIPIENT   Recipient,
  [in]  BYTE                          Request,
  [in]  USHORT                        Value,
  [in]  USHORT                        Index
);

Parameters

[out] Packet

A pointer to a WDF_USB_CONTROL_SETUP_PACKET structure.

[in] Direction

A WDF_USB_BMREQUEST_DIRECTION-typed value that is stored in the Packet.bm.Request.Dir member of the WDF_USB_CONTROL_SETUP_PACKET structure.

[in] Recipient

A WDF_USB_BMREQUEST_RECIPIENT-typed value that is stored in the Packet.bm.Request.Recipient member of the WDF_USB_CONTROL_SETUP_PACKET structure.

[in] Request

A request type constant that is stored in the Packet.bRequest member of the WDF_USB_CONTROL_SETUP_PACKET structure.

[in] Value

A request-specific value that is stored in the Packet.wValue.Value member of the WDF_USB_CONTROL_SETUP_PACKET structure.

[in] Index

A request-specific index value that is stored in the Packet.wIndex.Value member of the WDF_USB_CONTROL_SETUP_PACKET structure.

Return value

None

Remarks

The WDF_USB_CONTROL_SETUP_PACKET_INIT function does the following:

  1. Zeros the WDF_USB_CONTROL_SETUP_PACKET structure.
  2. Sets the Packet.bm.Request.Type member to BmRequestStandard.
  3. Sets other structure members by using the WDF_USB_CONTROL_SETUP_PACKET_INIT function's input arguments.
To initialize a WDF_USB_CONTROL_SETUP_PACKET structure, the driver should call one of the following functions:

Examples

The following code example initializes a WDF_USB_CONTROL_SETUP_PACKET structure.

WDF_USB_CONTROL_SETUP_PACKET  packet;

WDF_USB_CONTROL_SETUP_PACKET_INIT(
                                  &packet,
                                  BMREQUEST_HOST_TO_DEVICE,
                                  BMREQUEST_TO_DEVICE,
                                  0,
                                  0,
                                  0
                                  );

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfusb.h (include Wdfusb.h)

See also

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_CONTROL_SETUP_PACKET

WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS

WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE

WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS

WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR