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


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

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

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