USB_NODE_CONNECTION_INFORMATION-Struktur (usbioctl.h)

Die USB_NODE_CONNECTION_INFORMATION-Struktur wird mit der IOCTL_USB_GET_NODE_CONNECTION_INFORMATION-Anforderung verwendet, um Informationen über einen USB-Anschluss und ein verbundenes Gerät abzurufen.

Syntax

typedef struct _USB_NODE_CONNECTION_INFORMATION {
  ULONG                 ConnectionIndex;
  USB_DEVICE_DESCRIPTOR DeviceDescriptor;
  UCHAR                 CurrentConfigurationValue;
  BOOLEAN               LowSpeed;
  BOOLEAN               DeviceIsHub;
  USHORT                DeviceAddress;
  ULONG                 NumberOfOpenPipes;
  USB_CONNECTION_STATUS ConnectionStatus;
  USB_PIPE_INFO         PipeList[0];
} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;

Member

ConnectionIndex

Ein Wert, der größer oder gleich 1 ist und die Anzahl des Ports angibt.

DeviceDescriptor

Eine USB_DEVICE_DESCRIPTOR-Struktur , die den USB-Gerätedeskriptor meldet, der vom angefügten Gerät während der Enumeration zurückgegeben wird.

CurrentConfigurationValue

Enthält die ID, die mit der SetConfiguration-Anforderung verwendet wird, um die aktuelle Konfiguration des Geräts anzugeben, das mit dem angegebenen Port verbunden ist. Eine Erklärung zu diesem Wert finden Sie in Abschnitt 9.4.7 in der Spezifikation für universellen seriellen Bus 3.1, die in der USB-Dokumentbibliothek verfügbar ist.

LowSpeed

Ein boolescher Wert, der angibt, ob der Port und das verbundene Gerät mit niedriger Geschwindigkeit betrieben werden. TRUE gibt an, dass der Port und das verbundene Gerät derzeit mit einer niedrigen Geschwindigkeit betrieben werden. FALSE gibt an, dass dies anders ist.

DeviceIsHub

Ein boolescher Wert, der angibt, ob das Gerät, das an den Port angefügt ist, ein Hub ist. Wenn TRUE, ist das Gerät, das an den Port angeschlossen ist, ein Hub. Bei FALSE ist das Gerät kein Hub.

DeviceAddress

Die USB-zugewiesene, busrelative Adresse des Geräts, das an den Anschluss angeschlossen ist.

NumberOfOpenPipes

Die Anzahl der offenen USB-Rohre, die dem Port zugeordnet sind.

ConnectionStatus

Ein USB_CONNECTION_STATUS typisierter Enumerator, der die Verbindung status angibt.

PipeList[0]

Ein Array von USB_PIPE_INFO Strukturen, das die offenen Rohre beschreibt, die dem Port zugeordnet sind. Pipebeschreibungen umfassen den Zeitplanoffset der Pipe und den zugeordneten Endpunktdeskriptor. Diese Informationen können verwendet werden, um die Bandbreitennutzung zu berechnen.

Hinweise

Wenn kein Gerät an den USB-Anschluss angeschlossen ist, gibt IOCTL_USB_GET_NODE_CONNECTION_INFORMATION nur Informationen zum Anschluss zurück. Wenn ein Gerät mit dem Port verbunden ist, gibt IOCTL_USB_GET_NODE_CONNECTION_INFORMATION Informationen über den Port und das verbundene Gerät zurück.

Die USB_NODE_CONNECTION_INFORMATION_EX-Struktur ist eine erweiterte Version von USB_NODE_CONNECTION_INFORMATION. Die beiden Strukturen sind identisch, mit Ausnahme eines Elements. In USB_NODE_CONNECTION_INFORMATION_EX wird das LowSpeed-Element durch das Speed-Element ersetzt. LowSpeed ist ein boolescher Wert. Wenn er also TRUE ist, ist das Gerät mit niedriger Geschwindigkeit. Wenn es FALSE ist, ist das Gerät Hochgeschwindigkeits- oder Vollgeschwindigkeit. Daher kann die USB_NODE_CONNECTION_INFORMATION Struktur nicht zwischen hohen und vollen Geschwindigkeiten unterscheiden.

Das Speed-Element der USB_NODE_CONNECTION_INFORMATION_EX-Struktur ist eine UCHAR und kann jeden der Werte des USB_DEVICE_SPEED-Enumerators angeben.

Anforderungen

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

Weitere Informationen

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX

USB-Strukturen

USB_CONNECTION_STATUS

USB_DEVICE_DESCRIPTOR

USB_DEVICE_SPEED

USB_NODE_CONNECTION_INFORMATION_EX

USB_PIPE_INFO