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 类型值,该值指定所选的配置类型或指示当前配置正在取消配置。
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,则此成员包含 Types.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 设置为 WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs 或 WdfUsbTargetDeviceSelectConfigTypeMultiInterface,框架将提供为设备配置的接口数。
注解
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 |
标头 | wdfusb.h (包括 Wdfusb.h) |