WDF_USB_DEVICE_SELECT_CONFIG_PARAMS结构 (wdfusb.h)

[适用于 KMDF 和 UMDF]

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS结构指定 USB 设备配置参数。

语法

typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS {
  ULONG                              Size;
  WdfUsbTargetDeviceSelectConfigType Type;
  union {
    struct {
      PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
      PUSB_INTERFACE_DESCRIPTOR     *InterfaceDescriptors;
      ULONG                         NumInterfaceDescriptors;
    } Descriptor;
    struct {
      PURB Urb;
    } Urb;
    struct {
      UCHAR           NumberConfiguredPipes;
      WDFUSBINTERFACE ConfiguredUsbInterface;
    } SingleInterface;
    struct {
      UCHAR                           NumberInterfaces;
      PWDF_USB_INTERFACE_SETTING_PAIR Pairs;
      UCHAR                           NumberOfConfiguredInterfaces;
    } MultiInterface;
  } Types;
} WDF_USB_DEVICE_SELECT_CONFIG_PARAMS, *PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS;

成员

Size

此结构的大小(以字节为单位)。

Type

一个 WdfUsbTargetDeviceSelectConfigType-typed 值,该值指定正在选择的配置类型或指示当前配置正在取消配置。

Types

Types.Descriptor

Types.Descriptor.ConfigurationDescriptor

如果驱动程序将 Type 成员设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor,则此成员包含指向指定配置描述符 的USB_CONFIGURATION_DESCRIPTOR 结构的驱动程序提供的指针。 如果此指针为 NULL,框架将使用设备的第一个配置。 有关选择 USB 配置的详细信息,请参阅 WdfUsbTargetDeviceSelectConfig 的“备注”部分。

Types.Descriptor.InterfaceDescriptors

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor,则此成员包含一个驱动程序提供的指针,该指针指向表示要为配置选择的接口 的USB_INTERFACE_DESCRIPTOR 结构数组。

Types.Descriptor.NumInterfaceDescriptors

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor,则此成员包含 Type.Descriptor.InterfaceDescriptors 指向的接口数组中的元素数。

Types.Urb

Types.Urb.Urb

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeUrb,则此成员指定框架用于配置设备的驱动程序初始化 的 URB 结构。

Types.SingleInterface

Types.SingleInterface.NumberConfiguredPipes

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeSingleInterface,则框架提供为接口配置的管道数。

Types.SingleInterface.ConfiguredUsbInterface

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeSingleInterface,则框架将提供表示已配置的接口的 USB 接口对象的句柄。

Types.MultiInterface

Types.MultiInterface.NumberInterfaces

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs,则此成员指定 Types.MultiInterface.Pairs 数组中的元素数。

Types.MultiInterface.Pairs

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs,则此成员指定指向标识要选择的接口 的WDF_USB_INTERFACE_SETTING_PAIR 结构的数组的指针。

Types.MultiInterface.NumberOfConfiguredInterfaces

如果驱动程序将 Type 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesPairsWdfUsbTargetDeviceSelectConfigTypeMultiInterface,则框架将提供为设备配置的接口数。

备注

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS结构用作 WdfUsbTargetDeviceSelectConfig 的输入。

若要初始化 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 结构,请使用以下函数之一:

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_DECONFIG

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_URB

如果驱动程序将 Type 成员设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor,则可以更改 USB 设备配置。 所有其他值都使用当前的 USB 设备配置。

要求

   
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
Header wdfusb.h (包括 Wdfusb.h)

另请参阅

USB_CONFIGURATION_DESCRIPTOR

USB_INTERFACE_DESCRIPTOR

WDF_USB_INTERFACE_SETTING_PAIR

WdfUsbTargetDeviceSelectConfigType