функция USBD_ParseDescriptors (usbdlib.h)
Подпрограмма USBD_ParseDescriptors выполняет поиск заданного дескриптора конфигурации и возвращает указатель на первый дескриптор, соответствующий критериям поиска.
Синтаксис
PUSB_COMMON_DESCRIPTOR USBD_ParseDescriptors(
[in] PVOID DescriptorBuffer,
[in] ULONG TotalLength,
[in] PVOID StartPosition,
[in] LONG DescriptorType
);
Параметры
[in] DescriptorBuffer
Указатель на дескриптор конфигурации, содержащий дескриптор, для которого требуется выполнить поиск.
[in] TotalLength
Задает размер буфера в байтах, на который указывает descriptorBuffer.
[in] StartPosition
Указатель на адрес в дескрипторе конфигурации, указанный в descriptorBuffer, чтобы начать поиск. Чтобы выполнить поиск с начала дескриптора конфигурации, параметры DescriptorBuffer и StartPosition должны быть одинаковыми.
[in] DescriptorType
Указывает код типа дескриптора, назначенный USB. Следующие значения допустимы для типов дескрипторов, определенных USB.
USB_STRING_DESCRIPTOR_TYPE
Указывает, что искомый дескриптор является строковым дескриптором.
USB_INTERFACE_DESCRIPTOR_TYPE
Указывает, что поиск дескриптора является дескриптором интерфейса.
USB_ENDPOINT_DESCRIPTOR_TYPE
Указывает, что поиск дескриптора является дескриптором конечной точки.
Возвращаемое значение
USBD_ParseDescriptors возвращает указатель на структуру USB_COMMON_DESCRIPTOR, которая является головой первого дескриптора, соответствующего заданным критериям поиска, или возвращается NULL, если совпадение не найдено:
Замечания
Эта структура используется для хранения части дескриптора, чтобы вызывающий объект USBD_ParseDescriptors может определить правильную структуру для доступа к оставшимся данным дескриптора. Каждый тип дескриптора имеет эти поля в начале данных и вызывающих элементов может использовать bLength и bDescriptorType элементов, чтобы правильно определить тип этого дескриптора.
Когда эта подпрограмма анализирует дескриптор конфигурации, который ищет дескриптор, соответствующий условиям поиска, он возвращает первое совпадение, завершив поиск.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | usbdlib.h (include Usbdlib.h) |
библиотеки | Usbd.lib |
IRQL | < DISPATCH_LEVEL |