共用方式為


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 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
標頭 wdfusb.h (包括 Wdfusb.h)

另請參閱

USB_CONFIGURATION_DESCRIPTOR

USB_INTERFACE_DESCRIPTOR

WDF_USB_INTERFACE_SETTING_PAIR

WdfUsbTargetDeviceSelectConfigType