Поделиться через


функция USBD_ParseConfigurationDescriptorEx (usbdlib.h)

Подпрограмма USBD_ParseConfigurationDescriptorEx выполняет поиск заданного дескриптора конфигурации и возвращает указатель на интерфейс, соответствующий заданным условиям поиска.

Синтаксис

PUSB_INTERFACE_DESCRIPTOR USBD_ParseConfigurationDescriptorEx(
  [in] PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
  [in] PVOID                         StartPosition,
  [in] LONG                          InterfaceNumber,
  [in] LONG                          AlternateSetting,
  [in] LONG                          InterfaceClass,
  [in] LONG                          InterfaceSubClass,
  [in] LONG                          InterfaceProtocol
);

Параметры

[in] ConfigurationDescriptor

Указатель на дескриптор конфигурации USB, содержащий интерфейс, для которого выполняется поиск.

[in] StartPosition

Указатель на адрес в дескрипторе конфигурации, который предоставляется в разделе ConfigurationDescriptor, с который нужно начать поиск. Для поиска с начала дескриптора конфигурации параметры ConfigurationDescriptor и StartPosition должны быть одинаковыми.

[in] InterfaceNumber

Указывает определяемый устройством индекс извлекаемого интерфейса. Для этого параметра должно быть задано значение -1, если это не должно быть условием поиска.

[in] AlternateSetting

Задает определяемый устройством индекс альтернативных параметров извлекаемого интерфейса. Если вызывающий объект не хочет, чтобы альтернативное значение параметра было условием поиска, этот параметр должен иметь значение -1.

[in] InterfaceClass

Указывает определяемый устройством или USB-идентификатор для класса интерфейса извлекаемого интерфейса. Если вызывающий объект не хочет, чтобы значение класса интерфейса было условием поиска, этому параметру следует задать значение -1.

[in] InterfaceSubClass

Указывает определяемый устройством или USB-идентификатор для подкласса интерфейса, который требуется извлечь. Если вызывающий объект не хочет, чтобы значение подкласса интерфейса было условием поиска, этот параметр должен иметь значение -1.

[in] InterfaceProtocol

Указывает определенный устройством или USB-идентификатор для протокола интерфейса извлекаемого интерфейса. Если вызывающий объект не хочет, чтобы значение протокола интерфейса было условием поиска, этот параметр должен иметь значение -1.

Возвращаемое значение

USBD_ParseConfigurationDescriptorEx возвращает указатель на первый дескриптор интерфейса, соответствующий заданным условиям поиска. Если интерфейс не соответствует условиям поиска, возвращается значение NULL.

Комментарии

Вызывающие элементы могут указывать несколько критериев поиска (InterfaceNumber, AlternateSetting, InterfaceClass, InterfaceSubClass и InterfaceProtocol) при использовании этой подпрограммы для поиска интерфейса в дескрипторе конфигурации. Пример кода см . в разделе USBD_CreateConfigurationRequestEx.

Когда эта подпрограмма анализирует дескриптор конфигурации, который ищет дескриптор интерфейса, соответствующий условиям поиска, он возвращает первое совпадение, завершая поиск. Вызывающие абоненты должны указать столько условий поиска, сколько необходимо для поиска нужного интерфейса.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть usbdlib.h (включая Usbdlib.h)
Библиотека Usbd.lib
IRQL < DISPATCH_LEVEL

См. также раздел

Справочник по программированию драйверов USB-устройств

USB_CONFIGURATION_DESCRIPTOR