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 |