USBD_ParseDescriptors Funktion (usbdlib.h)
Die USBD_ParseDescriptors Routine durchsucht einen bestimmten 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
Zeigen Sie auf einen Konfigurationsdeskriptor, der den zu durchsuchenden Deskriptor enthält.
[in] TotalLength
Gibt die Größe des Puffers in Bytes an, auf den DescriptorBufferverweist.
[in] StartPosition
Zeiger auf die Adresse innerhalb der Konfigurationsbeschreibung, die unter DescriptorBufferangegeben wird, um mit der Suche zu beginnen. Um vom Anfang des Konfigurationsdeskriptors zu suchen, müssen die Parameter DescriptorBuffer- und StartPosition- dieselbe Adresse sein.
[in] DescriptorType
Gibt den Deskriptortypcode an, der von USB zugewiesen wird. Die folgenden Werte gelten für USB-definierte Deskriptortypen:
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- zurückgegeben wird, wenn keine Übereinstimmung gefunden wird:
Bemerkungen
Diese Struktur wird verwendet, um einen Teil eines Deskriptors zu speichern, sodass der Aufrufer von USBD_ParseDescriptors die richtige Struktur bestimmen kann, die für den Zugriff auf die verbleibenden Daten im Deskriptor verwendet werden soll. Jeder Deskriptortyp verfügt über diese Felder am Anfang der Daten, und Aufrufer können die bLength und bDescriptorType Member verwenden, um den Typ dieses Deskriptors korrekt zu identifizieren.
Wenn diese Routine den Konfigurationsdeskriptor analysiert, der nach dem Deskriptor sucht, der den Suchkriterien entspricht, wird die erste Übereinstimmung zurückgegeben, wobei die Suche beendet wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | usbdlib.h (include Usbdlib.h) |
Library | Usbd.lib |
IRQL- | < DISPATCH_LEVEL |