структура 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
Если драйвер задает элемент типа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
Если драйвер задает типа для WdfUsbTargetDeviceSelectConfigTypeUrb, этот элемент задает структуру, инициализированную драйвером URB, которую платформа использует для настройки устройства.
Types.SingleInterface
Types.SingleInterface.NumberConfiguredPipes
Если драйвер задает типа для WdfUsbTargetDeviceSelectConfigTypeSingleInterface, платформа предоставляет количество каналов, настроенных для интерфейса.
Types.SingleInterface.ConfiguredUsbInterface
Если драйвер задает Type значение WdfUsbTargetDeviceSelectConfigTypeSingleInterface, платформа предоставляет дескриптор объекту USB-интерфейса, представляющего настроенный интерфейс.
Types.MultiInterface
Types.MultiInterface.NumberInterfaces
Если драйвер задает Type значение WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs, этот элемент указывает количество элементов, которые находятся в массиве Types.MultiInterface.Pairs.
Types.MultiInterface.Pairs
Если драйвер задает типа для WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs, этот элемент указывает указатель на массив WDF_USB_INTERFACE_SETTING_PAIR структур, определяющих нужные интерфейсы.
Types.MultiInterface.NumberOfConfiguredInterfaces
Если драйвер задает типа для 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
Если драйвер задает элемент типа для WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor, он может изменить конфигурацию USB-устройства. Все остальные значения используют текущую конфигурацию USB-устройства.
Требования
Требование | Ценность |
---|---|
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfusb.h (include Wdfusb.h) |