Freigeben über


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

Weitere Informationen

Referenz zur USB-Gerätetreiberprogrammierung