WinUsb_GetDescriptor-Funktion (winusb.h)
Die WinUsb_GetDescriptor-Funktion gibt den angeforderten Deskriptor zurück. Dies ist ein synchroner Vorgang.
Syntax
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
);
Parameter
[in] InterfaceHandle
Ein undurchsichtiges Handle für eine Schnittstelle in der ausgewählten Konfiguration.
Verwenden Sie zum Abrufen des Geräte- oder Konfigurationsdeskriptors das von WinUsb_Initialize zurückgegebene Handle.
Verwenden Sie zum Abrufen des Schnittstellendeskriptors der ersten Schnittstelle das von WinUsb_Initialize zurückgegebene Handle.
Um den Endpunktdeskriptor eines Endpunkts in der ersten Schnittstelle abzurufen, verwenden Sie das von WinUsb_Initialize zurückgegebene Handle.
Um Deskriptoren aller anderen Schnittstellen und deren zugehörige Endpunkte abzurufen, verwenden Sie das Handle für die Zielschnittstelle, die von WinUsb_GetAssociatedInterface abgerufen wird.
[in] DescriptorType
Ein Wert, der den Typ des zurückzugebenden Deskriptors angibt. Dieser Parameter entspricht dem Feld bDescriptorType eines Standardgerätedeskriptors, dessen Werte in der Universal Serial Bus-Spezifikation beschrieben werden. Einige dieser Werte sind in der Beschreibung des DescriptorType-Members der _URB_CONTROL_DESCRIPTOR_REQUEST-Struktur aufgeführt.
[in] Index
Der Deskriptorindex. Eine Erklärung des Deskriptorindex finden Sie in der Spezifikation für universellen seriellen Bus (www.usb.org).
[in] LanguageID
Ein Wert, der den Sprachbezeichner angibt, wenn der angeforderte Deskriptor ein Zeichenfolgendeskriptor ist.
[out] Buffer
Ein vom Aufrufer zugewiesener Puffer, der den angeforderten Deskriptor empfängt.
[in] BufferLength
Die Länge des Puffers in Bytes.
[out] LengthTransferred
Die Anzahl der Bytes, die in Puffer kopiert wurden.
Rückgabewert
WinUsb_GetDescriptor gibt TRUE zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Routine FALSE zurück, und der Aufrufer kann den protokollierten Fehler abrufen, indem er GetLastError aufruft.
GetLastError kann den folgenden Fehlercode zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Der Aufrufer hat NULL im Parameter InterfaceHandle übergeben. |
Hinweise
Wenn der Ausgabepuffer, auf den der Buffer-Parameter verweist, groß genug ist, erstellt WinUsb_GetDescriptor eine Kopie des angegebenen Deskriptors im Ausgabepuffer. Es werden keine Daten kopiert, wenn der Puffer nicht groß genug ist, um Deskriptordaten aufzunehmen. Der Deskriptor wird während des WinUsb_Initialize Aufrufs erstellt oder kann an dieser Stelle vom Gerät abgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | winusb.h (einschließlich Winusb.h) |
Bibliothek | Winusb.lib |
DLL | Winusb.dll |