USBD_ParseDescriptors-Funktion (usbdlib.h)

Die USBD_ParseDescriptors Routine durchsucht einen angegebenen Konfigurationsdeskriptor und gibt einen Zeiger auf den ersten Deskriptor zurück, der den Suchkriterien entspricht.

Syntax

PUSB_COMMON_DESCRIPTOR USBD_ParseDescriptors(
  [in] PVOID DescriptorBuffer,
  [in] ULONG TotalLength,
  [in] PVOID StartPosition,
  [in] LONG  DescriptorType
);

Parameter

[in] DescriptorBuffer

Zeiger auf einen Konfigurationsdeskriptor, der den Deskriptor enthält, nach dem gesucht werden soll.

[in] TotalLength

Gibt die Größe des Puffers in Bytes an, auf den descriptorBuffer verweist.

[in] StartPosition

Zeiger auf die Adresse im Konfigurationsdeskriptor, der unter DescriptorBuffer bereitgestellt wird, um mit der Suche zu beginnen. Um vom Anfang des Konfigurationsdeskriptors aus zu suchen, müssen die Parameter DescriptorBuffer und StartPosition die gleiche Adresse aufweisen.

[in] DescriptorType

Gibt den Von USB zugewiesenen Deskriptortypcode an. Die folgenden Werte sind für USB-definierte Deskriptortypen gültig:

USB_STRING_DESCRIPTOR_TYPE

Gibt an, dass der gesuchte Deskriptor ein Zeichenfolgendeskriptor ist.

USB_INTERFACE_DESCRIPTOR_TYPE

Gibt an, dass der gesuchte Deskriptor ein Schnittstellendeskriptor ist.

USB_ENDPOINT_DESCRIPTOR_TYPE

Gibt an, dass der gesuchte Deskriptor ein Endpunktdeskriptor ist.

Rückgabewert

USBD_ParseDescriptors gibt einen Zeiger auf eine USB_COMMON_DESCRIPTOR-Struktur zurück, die der Kopf des ersten Deskriptors ist, der den angegebenen Suchkriterien entspricht, oder NULL wird zurückgegeben, wenn keine Übereinstimmung gefunden wird:

Hinweise

Diese Struktur wird verwendet, um einen Teil eines Deskriptors zu enthalten, sodass der Aufrufer von USBD_ParseDescriptors die richtige Struktur für den Zugriff auf die verbleibenden Daten im Deskriptor bestimmen kann. Jeder Deskriptortyp hat diese Felder am Anfang der Daten, und Aufrufer können die Elemente bLength und bDescriptorType verwenden, um den Typ dieses Deskriptors richtig zu identifizieren.

Wenn diese Routine den Konfigurationsdeskriptor analysiert und nach dem Deskriptor sucht, der den Suchkriterien entspricht, wird die erste Übereinstimmung zurückgegeben, wodurch die Suche beendet wird.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header usbdlib.h (include Usbdlib.h)
Bibliothek Usbd.lib
IRQL < DISPATCH_LEVEL

Weitere Informationen

Programmierreferenz für USB-Gerätetreiber