IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 要求は、USB ポートの超高速レーン情報を取得します。
クライアント ドライバーは、PASSIVE_LEVELの IRQL でこの IOCTL を送信する必要があります。
IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION は、ユーザー モードの I/O 制御要求です。 この要求は、USB ハブ デバイス (GUID_DEVINTERFACE_USB_HUB) を対象としています。
メジャー コード
入力/出力バッファー
入力バッファーと出力バッファーの両方が、呼び出し元によって割り当てられた USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 構造体を指します。 入力時に、この構造体の ConnectionIndex メンバーには、スーパースピード レーン情報が報告されるポートの数を示す 1 以上の数値を含める必要があります。 ハブ ドライバーは、USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 構造体の残りのメンバー内の超速度レーン情報を返します。 IRP、AssociatedIrp.SystemBuffer メンバーは、USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 構造体を指します。
出力時に、USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 構造体は、USB ハブ ドライバーから指定された超速度レーンに関する情報を受け取ります。
入力/出力バッファーの長さ
USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 構造体のサイズ。
状態ブロック
USB スタック Irp->IoStatus.Status 要求が成功した場合にSTATUS_SUCCESSに設定されます。 それ以外の場合、USB スタックは、STATUS_INVALID_PARAMETERやSTATUS_INSUFFICIENT_RESOURCESなどの適切なエラー状態に 状態 を設定します。
備考
USB ポートの超高速レーン情報を取得する方法を示す例を次に示します。
success = DeviceIoControl(hHubDevice,
IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION,
connectionSSPInfo,
sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
connectionSSPInfo,
sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
&nBytes,
NULL);
必要条件
要件 | 価値 |
---|---|
ヘッダー | usbioctl.h |