共用方式為


USB_NODE_CONNECTION_INFORMATION_EX結構 (usbioctl.h)

USB_NODE_CONNECTION_INFORMATION_EX 結構會與IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX要求搭配使用,以取得與指定之 USB 埠相關聯之連線的相關信息。

語法

typedef struct _USB_NODE_CONNECTION_INFORMATION_EX {
  ULONG                 ConnectionIndex;
  USB_DEVICE_DESCRIPTOR DeviceDescriptor;
  UCHAR                 CurrentConfigurationValue;
  UCHAR                 Speed;
  BOOLEAN               DeviceIsHub;
  USHORT                DeviceAddress;
  ULONG                 NumberOfOpenPipes;
  USB_CONNECTION_STATUS ConnectionStatus;
  USB_PIPE_INFO         PipeList[0];
} USB_NODE_CONNECTION_INFORMATION_EX, *PUSB_NODE_CONNECTION_INFORMATION_EX;

成員

ConnectionIndex

包含大於或等於 1 的值,指定埠的數目。

DeviceDescriptor

包含類型 為 USB_DEVICE_DESCRIPTOR 的結構,報告附加裝置在列舉期間所傳回的 USB 裝置描述元。

CurrentConfigurationValue

包含與 SetConfiguration 要求搭配使用的識別碼,以指定連線到指定埠之裝置目前的組態。 如需此值的說明,請參閱 USB文件庫提供的通用序列總線 3.1 規格中的第9.4.7節。

Speed

包含 類型為 USB_DEVICE_SPEED 的值,表示裝置的速度。

DeviceIsHub

指出當 為 TRUE 時,連接到埠的裝置是中樞。

DeviceAddress

包含連接至埠之裝置的USB指派總線相對位址。

NumberOfOpenPipes

指出與埠相關聯的開啟USB管道數目。

ConnectionStatus

包含 型別為 USB_CONNECTION_STATUS 的列舉值,表示連接狀態。

PipeList[0]

包含 類型USB_PIPE_INFO 結構的數位,描述與埠相關聯的開啟管道。 管道描述包括管道的排程位移和相關聯的端點描述元。 這項資訊可用來計算頻寬使用量。

備註

如果沒有連線的裝置, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX只會傳回埠的相關信息。 如果裝置連線到埠 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX 會傳回埠和連線裝置的相關信息。

USB_NODE_CONNECTION_INFORMATION_EX 結構是擴充版本的 USB_NODE_CONNECTION_INFORMATION。 這兩個結構相同,但一個成員除外。 在擴充結構中, Speed 成員會指出裝置速度。

USB_NODE_CONNECTION_INFORMATION_EX 結構的 Speed 成員是 UCHAR,它可以指定USB_DEVICE_SPEED列舉值的任何值。 Speed 成員最多可支援 UsbHighSpeed (USB 2.0) 。 若要判斷裝置是否支援 UsbSuperSpeed (USB 3.0) ,請使用 USB_NODE_CONNECTION_INFORMATION_EX_V2 結構。

USBView 範例中的下列 C++ 代碼段示範如何判斷裝置是否支援 UsbSuperSpeed (USB 3.0) :

// Since the USB_NODE_CONNECTION_INFORMATION_EX is used to display
// the device speed, but the hub driver doesn't support indication
// of superspeed, we overwrite the value if the super speed
// data structures are available and indicate the device is operating
// at SuperSpeed.

if (connectionInfoEx->Speed == UsbHighSpeed 
    && connectionInfoExV2 != NULL 
    && (connectionInfoExV2->Flags.DeviceIsOperatingAtSuperSpeedOrHigher ||
        connectionInfoExV2->Flags.DeviceIsOperatingAtSuperSpeedPlusOrHigher))
{
    connectionInfoEx->Speed = UsbSuperSpeed;
}

規格需求

需求
標頭 usbioctl.h (包含 Usbioctl.h)

另請參閱