Compartilhar via


Função USBD_ValidateConfigurationDescriptor (usbdlib.h)

A rotina USBD_ValidateConfigurationDescriptor valida todos os descritores retornados por um dispositivo em sua resposta a uma solicitação de descritor de configuração.

Sintaxe

USBD_STATUS USBD_ValidateConfigurationDescriptor(
  [in]           PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
  [in]           ULONG                         BufferLength,
  [in]           USHORT                        Level,
  [out]          PUCHAR                        *Offset,
  [in, optional] ULONG                         Tag
);

Parâmetros

[in] ConfigDesc

Ponteiro para um descritor de configuração que inclui todos os descritores de interface, ponto de extremidade, fornecedor e específicos de classe recuperados de um dispositivo USB.

[in] BufferLength

Tamanho, em bytes, do descritor de configuração que está sendo validado.

[in] Level

Nível de validação a ser executado. Os seguintes valores são válidos:

  • 1 – Validação básica do cabeçalho do descritor de configuração.
  • 2- Validação completa do descritor de configuração, incluindo verificação de endereços de ponto de extremidade inválidos, números de interface, estruturas de descritor, configurações alternativas de interface, número de interfaces e campos bLength de todos os descritores.
  • 3- Além da validação para os níveis 1 e 2, o nível 3 valida mais valida o número de pontos de extremidade em cada interface, impõe os tamanhos bLength do descritor da especificação USB e verifica se todos os números de interface estão em ordem sequencial.

[out] Offset

Deslocamento no descritor de configuração em que a validação falhou. Válido somente quando um status diferente de USBD_STATUS_SUCCESS é retornado.

[in, optional] Tag

Marca de pool usada por USBD_ValidateConfigurationDescriptor ao alocar memória.

Retornar valor

USBD_STATUS_SUCCESS ou código de erro USBD apropriado se a validação falhar.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e em sistemas operacionais posteriores.
Plataforma de Destino Universal
Cabeçalho usbdlib.h (inclua Usbdlib.h)
Biblioteca Usbd.lib
IRQL PASSIVE_LEVEL

Confira também

Referência de programação de driver de dispositivo USB