USBD_ValidateConfigurationDescriptor-Funktion (usbdlib.h)
Die USBD_ValidateConfigurationDescriptor Routine überprüft alle Deskriptoren, die von einem Gerät in seiner Antwort auf eine Konfigurationsdeskriptoranforderung zurückgegeben werden.
Syntax
USBD_STATUS USBD_ValidateConfigurationDescriptor(
[in] PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
[in] ULONG BufferLength,
[in] USHORT Level,
[out] PUCHAR *Offset,
[in, optional] ULONG Tag
);
Parameter
[in] ConfigDesc
Zeiger auf einen Konfigurationsdeskriptor, der alle Schnittstellen,Endpunkte, Anbieter und klassenspezifischen Deskriptoren enthält, die von einem USB-Gerät abgerufen werden.
[in] BufferLength
Größe des zu überprüfenden Konfigurationsdeskriptors in Bytes.
[in] Level
Grad der durchzuführenden Validierung. Die folgenden sind Werte gültig:
- 1: Grundlegende Überprüfung des Konfigurationsdeskriptorsheaders.
- 2- Vollständige Validierung des Konfigurationsdeskriptors, einschließlich Überprüfung auf ungültige Endpunktadressen, Schnittstellennummern, Deskriptorstrukturen, alternative Schnittstelleneinstellungen, Anzahl der Schnittstellen und bLength-Felder aller Deskriptoren.
- 3. Zusätzlich zur Validierung für die Ebenen 1 und 2 überprüft Stufe 3 und überprüft die Anzahl der Endpunkte in jeder Schnittstelle, erzwingt die Deskriptor-bLength-Größen der USB-Spezifikation und überprüft, ob alle Schnittstellennummern sequenziell angeordnet sind.
[out] Offset
Offset innerhalb des Konfigurationsdeskriptors, bei dem die Überprüfung fehlgeschlagen ist. Nur gültig, wenn ein anderer status als USBD_STATUS_SUCCESS zurückgegeben wird.
[in, optional] Tag
Pooltag, das von USBD_ValidateConfigurationDescriptor bei der Zuweisung von Arbeitsspeicher verwendet wird.
Rückgabewert
USBD_STATUS_SUCCESS oder den entsprechenden USBD-Fehlercode, wenn bei der Überprüfung ein Fehler aufgetreten ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Betriebssystemen. |
Zielplattform | Universell |
Header | usbdlib.h (include Usbdlib.h) |
Bibliothek | Usbd.lib |
IRQL | PASSIVE_LEVEL |