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


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

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

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