функция USBD_ValidateConfigurationDescriptor (usbdlib.h)
Подпрограмма USBD_ValidateConfigurationDescriptor проверяет все дескрипторы, возвращаемые устройством в ответ на запрос дескриптора конфигурации.
Синтаксис
USBD_STATUS USBD_ValidateConfigurationDescriptor(
[in] PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
[in] ULONG BufferLength,
[in] USHORT Level,
[out] PUCHAR *Offset,
[in, optional] ULONG Tag
);
Параметры
[in] ConfigDesc
Указатель на дескриптор конфигурации, включающий все дескрипторы интерфейса, конечной точки, поставщика и класса, полученные с USB-устройства.
[in] BufferLength
Размер проверяемого дескриптора конфигурации в байтах.
[in] Level
Уровень выполняемой проверки. Допустимыми значениями являются:
- 1.Базовая проверка заголовка дескриптора конфигурации.
- 2.Полная проверка дескриптора конфигурации, включая проверку на наличие недопустимых адресов конечных точек, номеров интерфейсов, структур дескрипторов, альтернативных параметров интерфейса, количества интерфейсов и полей bLength всех дескрипторов.
- 3.В дополнение к проверке уровней 1 и 2, уровень 3 проверяет количество конечных точек в каждом интерфейсе, применяет дескриптор спецификации USB bLength и проверяет, что все номера интерфейсов находятся в последовательном порядке.
[out] Offset
Смещение в дескрипторове конфигурации, где не удалось выполнить проверку. Допустимо, только если возвращается состояние, отличное от USBD_STATUS_SUCCESS.
[in, optional] Tag
Тег пула, используемый USBD_ValidateConfigurationDescriptor при выделении памяти.
Возвращаемое значение
USBD_STATUS_SUCCESS или соответствующий код ошибки USBD, если проверка не пройдена.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Операционных системах Windows Vista и более поздних версий. |
Целевая платформа | Универсальное |
Верхняя часть | usbdlib.h (включая Usbdlib.h) |
Библиотека | Usbd.lib |
IRQL | PASSIVE_LEVEL |