Freigeben über


USB_DESCRIPTOR_REQUEST Struktur (usbioctl.h)

Die USB_DESCRIPTOR_REQUEST Struktur wird mit der IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION-E/A-Steuerelementanforderung verwendet, um einen oder mehrere Deskriptoren für das Gerät abzurufen, das dem angegebenen Verbindungsindex zugeordnet ist. Die Felder in dieser Struktur werden in der Spezifikation universal Serial Bus 3.1 beschrieben, die unter USB-Dokumentbibliothekverfügbar ist.

Syntax

typedef struct _USB_DESCRIPTOR_REQUEST {
  ULONG  ConnectionIndex;
  struct {
    UCHAR  bmRequest;
    UCHAR  bRequest;
    USHORT wValue;
    USHORT wIndex;
    USHORT wLength;
  } SetupPacket;
  UCHAR  Data[0];
} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;

Angehörige

ConnectionIndex

Der Port, dessen Deskriptoren abgerufen werden.

SetupPacket

Die Elemente der SetupPacket- Struktur gemäß der offiziellen Spezifikation definiert. Siehe Abschnitt 9.3.

SetupPacket.bmRequest

Der Typ der USB-Geräteanforderung (Standard, Klasse oder Anbieter), die Richtung der Datenübertragung und den Typ des Datenempfängers (Gerät, Schnittstelle oder Endpunkt). Bei der Eingabe an die IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION E/A-Steuerelementanforderung ignoriert der USB-Stapel den Wert bmRequest- und fügt einen Wert von 0x80 ein. Dieser Wert gibt eine standardmäßige USB-Geräteanforderung und eine Geräte-zu-Host-Datenübertragung an.

SetupPacket.bRequest

Die Anforderungsnummer. Bei der Eingabe an die IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION E/A-Steuerelementanforderung ignoriert der USB-Stapel den Wert bRequest- und fügt einen Wert von 0x06 ein. Dieser Wert gibt eine Anforderung von GET_DESCRIPTORan.

SetupPacket.wValue

Bei Eingaben an die IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION E/A-Steuerelementanforderung sollte der Aufrufer den Typ des Deskriptors angeben, der im hohen Byte von wValue- und dem Deskriptorindex im niedrigen Byte abgerufen werden soll. In der folgenden Tabelle sind die möglichen Beschreibungstypen aufgeführt. Diese Konstantentypen werden im Usbspec.h-Header definiert, der im Windows Driver Kit enthalten ist.

Deskriptortyp Bedeutung
USB_DEVICE_DESCRIPTOR_TYPE Weist den USB-Stapel an, den Gerätedeskriptor zurückzugeben.
USB_CONFIGURATION_DESCRIPTOR_TYPE Weist den USB-Stapel an, den Konfigurationsdeskriptor und alle Schnittstellen, Endpunkte, klassenspezifischen und anbieterspezifischen Deskriptoren zurückzugeben, die der aktuellen Konfiguration zugeordnet sind.
USB_STRING_DESCRIPTOR_TYPE Weist den USB-Stapel an, den angegebenen Zeichenfolgendeskriptor zurückzugeben.
USB_INTERFACE_DESCRIPTOR_TYPE Weist den USB-Stapel an, den angegebenen Schnittstellendeskriptor zurückzugeben.
USB_ENDPOINT_DESCRIPTOR_TYPE Weist den USB-Stapel an, den angegebenen Endpunktdeskriptor zurückzugeben.

SetupPacket.wIndex

Der gerätespezifische Index des abzurufenden Deskriptors.

SetupPacket.wLength

Die Länge der Daten, die während der zweiten Phase der Kontrollübertragung übertragen werden.

Data[0]

Bei der Ausgabe der IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION E/A-Steuerelementanforderung enthält dieses Element die abgerufenen Deskriptoren.

Bemerkungen

Wenn der Aufrufer einen Wert von USB_CONFIGURATION_DESCRIPTOR_TYPE im wValue--Element angibt, muss der Ausgabepuffer groß genug sein, um alle Deskriptoren, die der aktuellen Konfiguration zugeordnet sind, zu enthalten, oder die Anforderung schlägt fehl.

Anforderungen

Anforderung Wert
Header- usbioctl.h (include Usbioctl.h)

Siehe auch

IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

USB-Strukturen