USB_PORT_CONNECTOR_PROPERTIES結構 (usbioctl.h)
USB_PORT_CONNECTOR_PROPERTIES 結構會與 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 控件要求搭配使用,以擷取特定 SuperSpeed 中樞上的埠相關信息。
語法
typedef struct _USB_PORT_CONNECTOR_PROPERTIES {
ULONG ConnectionIndex;
ULONG ActualLength;
USB_PORT_PROPERTIES UsbPortProperties;
USHORT CompanionIndex;
USHORT CompanionPortNumber;
WCHAR CompanionHubSymbolicLinkName[1];
} USB_PORT_CONNECTOR_PROPERTIES, *PUSB_PORT_CONNECTOR_PROPERTIES;
成員
ConnectionIndex
要求中正在查詢的埠號碼。 ConnectionIndex 是由呼叫端指定。 如果 SuperSpeed 中樞上有 n n 個 連接埠,則埠編號是從 1 到 n。 若要取得埠數目,呼叫端會先傳送 IOCTL_USB_GET_HUB_INFORMATION_EX I/O 控制要求。 要求會擷取中樞上最高的埠號碼。
ActualLength
保存整個 USB_PORT_CONNECTOR_PROPERTIES 結構所需的位元組數目,包括包含隨附中樞符號連結名稱的字串。 該字串會儲存在 CompanionHubSymbolicLinkName 成員中。 ActualLength 值是由 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 要求傳回,並由呼叫端用來配置緩衝區來保存接收的資訊。 如需詳細資訊,請參閱 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES。
UsbPortProperties
埠屬性。 完成 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES 要求時,UsbPortProperties 包含一個或多個旗標的位 OR,指出埠的屬性和功能。 旗標定義於 USB_PORT_PROPERTIES中。
CompanionIndex
與查詢之埠相關聯的隨附埠索引(由 ConnectionIndex所指定)。 如果 n 隨附埠,則這些埠會從 0 編製索引到 n–1。
如果埠對應至多個隨附埠,CompanionIndex 會在多個查詢上遞增,以列舉所有隨附埠。
針對 SuperSpeed 中樞和 xHCI 控制器,CompanionIndex 一律為 0。 如需詳細資訊,請參閱。
CompanionPortNumber
隨附埠的埠號碼,CompanionIndex所提供。 如果查詢的埠與其他中樞上的埠共用 USB 連接器,CompanionPortNumber 表示另一個中樞上的埠埠號碼。
CompanionHubSymbolicLinkName[1]
Unicode 字串,其中包含共用USB連接器之隨附中樞的符號連結。 如果隨附中樞存在,CompanionPortNumber 為非零。 否則,CompanionHubSymbolicLinkName [0]NULL。
言論
SuperSpeed 3.0 中樞包含兩個獨立的中樞實作。 其中一個適用於 USB 2.0 裝置,而中樞實作類似於現有的 2.0 中樞。 另一個中樞僅適用於 SuperSpeed 裝置。 由於USB 2.0和3.0總線訊號在電氣上是獨立的,因此這兩個中樞都會同時運作。 因此,當 SuperSpeed 中樞連線到主機時,Windows 會獨立列舉兩個中樞:一個中樞與USB 2.0埠相關聯,另一個中樞則與USB 3.0埠相關聯。 每個中樞都有其下游和上游埠。 USB 實體連接器會在與這兩個中樞實作相關聯的埠之間共用。
同樣地,xHCI 控制器必須能夠處理 SuperSpeed、高速、全速和低速裝置。 USB 3.0 規格需要 xHCI 控制器包含兩個獨立執行單位,分別適用於 USB 3.0 和 USB 2.0 總線速度。 USB 3.0 執行單位會處理總線上的超速流量。 USB 2.0 執行單位必須處理低、完整和高速流量。 這種需求可以透過多種方式滿足。 例如,在一個實作中,USB 2.0 執行單位可以有下游 USB 1.1 執行單位或下游 USB 2.0 中樞。 另一個執行單位會處理公交車上的超速流量。 例如,在一個實作中,xHCI 控制器可以有下游 USB 2.0 中樞(而不是 USB 2.0 主機控制器),並搭配交易轉譯器來處理全速和低速流量。 該下游中樞會與 SuperSpeed 根中樞的埠共用連接器。
在共用USB連接器的情況下,透過 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 控制要求查詢的埠是由 ConnectionIndex指定,而共用連接器的埠稱為 隨附埠。 要求完成後,CompanionIndex、CompanionPortNumber,以及 CompanionHubSymbolicLinkNameUSB_PORT_CONNECTOR_PROPERTIES 成員可用來判斷這些情況下的埠路由。
如果有多個隨附埠與所查詢的埠相關聯,應用程式可以在迴圈中傳送 IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES I/O 控件要求,並在每次反覆專案中遞增 CompanionIndex 值,以取得所有隨附埠的相關信息。 列舉所有埠,且沒有與 CompanionIndex中指定的索引相關聯的埠時,要求會順利完成,CompanionPortNumber 設定為 0,且 CompanionHubSymbolicLinkName 為 NULL。
若要取得連接至特定埠之裝置的作業速度相關信息,應用程式可以傳送 IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 I/O 控制要求。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8 |
支援的最低伺服器 | 不支援 |
標頭 | usbioctl.h (包括 Usbioctl.h) |
另請參閱
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2