функция 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 |