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