funzione WinUsb_GetDescriptor (winusb.h)

La funzione WinUsb_GetDescriptor restituisce il descrittore richiesto. Si tratta di un'operazione sincrona.

Sintassi

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
);

Parametri

[in] InterfaceHandle

Handle opaco a un'interfaccia nella configurazione selezionata.

Per recuperare il descrittore di dispositivo o configurazione, usare l'handle restituito da WinUsb_Initialize.

Per recuperare il descrittore dell'interfaccia della prima interfaccia, usare l'handle restituito da WinUsb_Initialize.

Per recuperare il descrittore dell'endpoint di un endpoint nella prima interfaccia, usare l'handle restituito da WinUsb_Initialize.

Per recuperare i descrittori di tutte le altre interfacce e i relativi endpoint correlati, usare l'handle per l'interfaccia di destinazione, recuperata da WinUsb_GetAssociatedInterface.

[in] DescriptorType

Valore che specifica il tipo di descrittore da restituire. Questo parametro corrisponde al campo bDescriptorType di un descrittore del dispositivo standard, i cui valori sono descritti nella specifica del bus seriale universale . Alcuni di questi valori sono elencati nella descrizione del membro DescriptorType della struttura _URB_CONTROL_DESCRIPTOR_REQUEST .

[in] Index

Indice descrittore. Per una spiegazione dell'indice descrittore, vedere la specifica del bus seriale universale (www.usb.org).

[in] LanguageID

Valore che specifica l'identificatore della lingua, se il descrittore richiesto è un descrittore di stringa.

[out] Buffer

Buffer allocato dal chiamante che riceve il descrittore richiesto.

[in] BufferLength

Lunghezza, in byte, di Buffer.

[out] LengthTransferred

Numero di byte copiati nel buffer.

Valore restituito

WinUsb_GetDescriptor restituisceTRUE se l'operazione ha esito positivo. In caso contrario, questa routine restituisce FALSE e il chiamante può recuperare l'errore registrato chiamando GetLastError.

GetLastError può restituire il codice di errore seguente.

Codice restituito Descrizione
ERROR_INVALID_HANDLE
Il chiamante ha passato NULL nel parametro InterfaceHandle .

Commenti

Se il buffer di output a cui punta il parametro Buffer è sufficiente, WinUsb_GetDescriptor crea una copia del descrittore specificato nel buffer di output. Nessun dato viene copiato se il buffer non è abbastanza grande per contenere i dati del descrittore. Il descrittore viene creato durante la chiamata WinUsb_Initialize o può essere recuperato a questo punto dal dispositivo.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione winusb.h (include Winusb.h)
Libreria Winusb.lib
DLL Winusb.dll

Vedi anche

WinUSB

Funzioni WinUSB

WinUsb_Initialize

_URB_CONTROL_DESCRIPTOR_REQUEST