WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR function (wdfusb.h)

[Applies to KMDF and UMDF]

The WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR function initializes a WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure so that a driver can select a USB interface by specifying an interface descriptor.

Syntax

void WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR(
  [out] PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params,
  [in]  PUSB_INTERFACE_DESCRIPTOR                Interface
);

Parameters

[out] Params

A pointer to a driver-allocated WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure.

[in] Interface

A pointer to a USB_INTERFACE_DESCRIPTOR structure.

Return value

None

Remarks

The WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR function zeros the WDF_USB_INTERFACE_SELECT_SETTING_PARAMS structure and sets its Size member to the size of the structure. It also sets the Type member to WdfUsbInterfaceSelectSettingTypeDescriptor and sets the Types.Descriptor.InterfaceDescriptor member to the value of the Interface pointer.

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

Examples

The following code example initializes a USB_INTERFACE_DESCRIPTOR structure and then uses the structure as input to WdfUsbInterfaceSelectSetting.

WDF_USB_INTERFACE_SELECT_SETTING_PARAMS  selectSettingParams;
USB_INTERFACE_DESCRIPTOR  interfaceDescriptor;
NTSTATUS  Status;

//
// Initialize the USB_INTERFACE_DESCRIPTOR structure here.
//
...

//
// Initialize the WDF_USB_INTERFACE_SELECT_SETTING_PARAMS 
// structure and call WdfUsbInterfaceSelectSetting.
//
WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_DESCRIPTOR(
                                      &selectSettingParams,
                                      &interfaceDescriptor
                                      );

Status = WdfUsbInterfaceSelectSetting(
                                      UsbInterface,
                                      WDF_NO_OBJECT_ATTRIBUTES,
                                      &selectSettingParams
                                      );

Requirements

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

See also

USB_INTERFACE_DESCRIPTOR

WDF_USB_INTERFACE_SELECT_SETTING_PARAMS

WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_SETTING

WDF_USB_INTERFACE_SELECT_SETTING_PARAMS_INIT_URB