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


функция 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 (include Usbdlib.h)
библиотеки Usbd.lib
IRQL < DISPATCH_LEVEL

См. также

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

USB_CONFIGURATION_DESCRIPTOR