WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure (wdfusb.h)

[Applies to KMDF and UMDF]

The WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure contains selection information for a USB interface.

Syntax

typedef struct _WDF_USB_INTERFACE_SELECT_SETTING_PARAMS {
  ULONG                               Size;
  WdfUsbTargetDeviceSelectSettingType Type;
  union {
    struct {
      PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor;
    } Descriptor;
    struct {
      UCHAR SettingIndex;
    } Interface;
    struct {
      PURB Urb;
    } Urb;
  } Types;
} WDF_USB_INTERFACE_SELECT_SETTING_PARAMS, *PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS;

Members

Size

The size, in bytes, of this structure.

Type

A WdfUsbTargetDeviceSelectSettingType-typed value that identifies a technique for specifying a device interface.

Types

Types.Descriptor

Types.Descriptor.InterfaceDescriptor

If the Type member is WdfUsbInterfaceSelectSettingTypeDescriptor, this member contains a pointer to a USB_INTERFACE_DESCRIPTOR structure that identifies a device interface.

Types.Interface

Types.Interface.SettingIndex

If the Type member is WdfUsbInterfaceSelectSettingTypeSetting, this member contains an index value that identifies an alternate setting for the interface. (The interface is identified by an interface object handle that the driver passes to WdfUsbInterfaceSelectSetting.)

Types.Urb

Types.Urb.Urb

If the Type member is WdfUsbInterfaceSelectSettingTypeUrb, this member contains a pointer to a URB structure that describes a device interface. The URB structure's Function member must be URB_FUNCTION_SELECT_INTERFACE, and other members must be initialized as appropriate for the interface.

Remarks

The WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure is used as input to the WdfUsbInterfaceSelectSetting method.

To initialize a WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure, your driver must call one of the following functions:

Requirements

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

See also

URB

USB_INTERFACE_DESCRIPTOR

WdfUsbInterfaceSelectSetting

WdfUsbTargetDeviceSelectSettingType