Share via


função WinUsb_GetDescriptor (winusb.h)

A função WinUsb_GetDescriptor retorna o descritor solicitado. Esta é uma operação síncrona.

Sintaxe

BOOL WinUsb_GetDescriptor(
  [in]  WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in]  UCHAR                   DescriptorType,
  [in]  UCHAR                   Index,
  [in]  USHORT                  LanguageID,
  [out] PUCHAR                  Buffer,
  [in]  ULONG                   BufferLength,
  [out] PULONG                  LengthTransferred
);

Parâmetros

[in] InterfaceHandle

Um identificador opaco para uma interface na configuração selecionada.

Para recuperar o dispositivo ou o descritor de configuração, use o identificador retornado por WinUsb_Initialize.

Para recuperar o descritor de interface da primeira interface, use o identificador retornado por WinUsb_Initialize.

Para recuperar o descritor de ponto de extremidade de um ponto de extremidade na primeira interface, use o identificador retornado por WinUsb_Initialize.

Para recuperar descritores de todas as outras interfaces e seus pontos de extremidade relacionados, use o identificador para a interface de destino, recuperada por WinUsb_GetAssociatedInterface.

[in] DescriptorType

Um valor que especifica o tipo de descritor a ser retornado. Esse parâmetro corresponde ao campo bDescriptorType de um descritor de dispositivo padrão, cujos valores são descritos na especificação do Barramento Serial Universal . Alguns desses valores são listados na descrição do membro DescriptorType da estrutura _URB_CONTROL_DESCRIPTOR_REQUEST .

[in] Index

O índice do descritor. Para obter uma explicação do índice do descritor, consulte a especificação do Barramento Serial Universal (www.usb.org).

[in] LanguageID

Um valor que especifica o identificador de idioma, se o descritor solicitado for um descritor de cadeia de caracteres.

[out] Buffer

Um buffer alocado pelo chamador que recebe o descritor solicitado.

[in] BufferLength

O comprimento, em bytes, de Buffer.

[out] LengthTransferred

O número de bytes que foram copiados para Buffer.

Retornar valor

WinUsb_GetDescriptorretornará TRUE se a operação for bem-sucedida. Caso contrário, essa rotina retornará FALSE e o chamador poderá recuperar o erro registrado chamando GetLastError.

GetLastError pode retornar o código de erro a seguir.

Código de retorno Descrição
ERROR_INVALID_HANDLE
O chamador passou NULL no parâmetro InterfaceHandle .

Comentários

Se o buffer de saída apontado pelo parâmetro Buffer for grande o suficiente, WinUsb_GetDescriptor criará uma cópia do descritor especificado no buffer de saída. Nenhum dado será copiado se o buffer não for grande o suficiente para armazenar dados do descritor. O descritor é criado durante a chamada WinUsb_Initialize ou pode ser recuperado neste ponto do dispositivo.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho winusb.h (inclua Winusb.h)
Biblioteca Winusb.lib
DLL Winusb.dll

Confira também

WinUSB

Funções do WinUSB

WinUsb_Initialize

_URB_CONTROL_DESCRIPTOR_REQUEST