WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE function (wdfusb.h)

[Applies to KMDF and UMDF]

The WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE function initializes a WDF_USB_CONTROL_SETUP_PACKET structure for a USB control transfer that sets or clears a device feature.

Syntax

void WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE(
  [out] PWDF_USB_CONTROL_SETUP_PACKET Packet,
  [in]  WDF_USB_BMREQUEST_RECIPIENT   BmRequestRecipient,
  [in]  USHORT                        FeatureSelector,
  [in]  USHORT                        Index,
  [in]  BOOLEAN                       SetFeature
);

Parameters

[out] Packet

A pointer to a WDF_USB_CONTROL_SETUP_PACKET structure.

[in] BmRequestRecipient

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] FeatureSelector

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

[in] Index

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

[in] SetFeature

A Boolean value that, if TRUE, indicates that the specified feature will be set. If FALSE, the specified feature will be cleared.

Return value

None

Remarks

The WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 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 the Packet.bm.Request.Dir member to BmRequestDeviceToDevice.
  4. Sets the Packet.bRequest member to either a "set feature" or a "clear feature" request value, based on the SetFeature argument.
  5. Sets other structure members by using the WDF_USB_CONTROL_SETUP_PACKET_INIT_FEATURE 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_FEATURE(
                                          &packet,
                                          BMREQUEST_TO_DEVICE,
                                          USB_DEVICE_DESCRIPTOR_TYPE,
                                          0,
                                          FALSE
                                          );

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_RECIPIENT

WDF_USB_CONTROL_SETUP_PACKET

WDF_USB_CONTROL_SETUP_PACKET_INIT

WDF_USB_CONTROL_SETUP_PACKET_INIT_CLASS

WDF_USB_CONTROL_SETUP_PACKET_INIT_GET_STATUS

WDF_USB_CONTROL_SETUP_PACKET_INIT_VENDOR