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,這個成員會包含 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) |