Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die RetrieveDescriptor Methode ruft einen USB-Deskriptor ab, der ein Gerät, eine Konfiguration oder eine Zeichenfolge beschreiben kann.
Syntax
HRESULT RetrieveDescriptor(
[in] UCHAR DescriptorType,
[in] UCHAR Index,
[in] USHORT LanguageID,
[in, out] ULONG *BufferLength,
[out] PVOID Buffer
);
Parameter
[in] DescriptorType
Ein Wert, der den Typ des zurückzugebenden Deskriptors angibt. Dieser Parameter entspricht dem bDescriptorType Feld eines Standardgerätedeskriptors, dessen Werte in der spezifikation Universal Serial Bus beschrieben werden. (Diese Ressource ist in einigen Sprachen möglicherweise nicht verfügbar.
und Länder.) Einige dieser Werte werden in der Beschreibung des DescriptorType-Elements der _URB_CONTROL_DESCRIPTOR_REQUEST-Struktur aufgeführt.
[in] Index
Der Index des Deskriptors gemäß der Universal Serial Bus Spezifikation. (Diese Ressource ist in einigen Sprachen möglicherweise nicht verfügbar.
und Länder.)
[in] LanguageID
Der Bezeichner der Sprache, wenn der UMDF-Treiber einen Zeichenfolgendeskriptor anfordert; andernfalls ist dieser Parameter null.
[in, out] BufferLength
Ein Zeiger auf eine Variable, die bei der Eingabe die Größe des Puffers in Byte enthält, auf den der Buffer verweist. Wenn der Vorgang erfolgreich ist, empfängt die Variable die Anzahl der Bytes, die das Framework in den Puffer kopiert hat.
[out] Buffer
Ein Zeiger auf einen vom Aufrufer bereitgestellten Puffer, der den USB-Deskriptor empfängt. Der Puffertyp sollte mit dem in DescriptorTypeangegebenen Wert übereinstimmen.
Rückgabewert
RetrieveDescriptor gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
RetrieveDescriptor den USB-Deskriptor erfolgreich abgerufen. |
|
RetrieveDescriptor ein Zuordnungsfehler aufgetreten ist. |
|
Dieser Wert entspricht dem Fehlercode, den die WinUsb-API zurückgegeben hat. |
Bemerkungen
Informationen zu gültigen Deskriptortypen, die ein UMDF-Treiber für den parameter DescriptorType übergeben kann, finden Sie in der WinUsb_GetDescriptor-Funktion.
Die RetrieveDescriptor--Methode generiert eine UMDF-Anforderung und sendet die Anforderung synchron an das E/A-Ziel.
Beispiele
Im folgenden Codebeispiel wird ein USB-Konfigurationsdeskriptor abgerufen.
HRESULT
CUmdfHidDevice::RetrieveConfigDescriptor(
__out_bcount(ConfigDescriptorCb) PUSB_CONFIGURATION_DESCRIPTOR *ConfigDescriptor,
__out ULONG *ConfigDescriptorCb
)
{
ULONG descriptorCb = sizeof(USB_CONFIGURATION_DESCRIPTOR);
USB_CONFIGURATION_DESCRIPTOR descriptorHeader;
PBYTE descriptorBuffer;
HRESULT hr;
//
// Get the configuration descriptor at index 0
//
hr = m_UsbTargetDevice->RetrieveDescriptor(
USB_CONFIGURATION_DESCRIPTOR_TYPE,
0,
0,
&descriptorCb,
&descriptorHeader
);
//
// Store the buffer in the output parameter, or delete it.
//
if (SUCCEEDED(hr)) {
*ConfigDescriptor = (PUSB_CONFIGURATION_DESCRIPTOR) (descriptorHeader);
*ConfigDescriptorCb = descriptorCb;
}
else {
delete[] descriptorHeader;
}
return hr;
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.5 |
Header- | wudfusb.h (include Wudfusb.h) |
DLL- | WUDFx.dll |