функция 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 полей всех дескрипторов.
  • В дополнение к проверке на уровне 1 и 2, уровень 3 проверяет количество конечных точек в каждом интерфейсе, применяет дескриптор спецификации USB bLength размеров и проверяет, что все номера интерфейсов находятся в последовательном порядке.

[out] Offset

Смещение в дескрипторе конфигурации, в котором не удалось выполнить проверку. Допустимо только в том случае, если возвращается состояние, отличное от USBD_STATUS_SUCCESS.

[in, optional] Tag

Тег пула, используемый USBD_ValidateConfigurationDescriptor при выделении памяти.

Возвращаемое значение

USBD_STATUS_SUCCESS или соответствующий код ошибки USBD при сбое проверки.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows Vista и более поздних операционных системах.
целевая платформа Всеобщий
заголовка usbdlib.h (include Usbdlib.h)
библиотеки Usbd.lib
IRQL PASSIVE_LEVEL

См. также

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