次の方法で共有


IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL (usbioctl.h)

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 要求は、指定された USB ポートと、ポートに接続されているデバイス (存在する場合) に関する情報を取得します。

クライアント ドライバーは、PASSIVE_LEVELの IRQL でこの IOCTL を送信する必要があります。

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION は、ユーザー モードの I/O 制御要求です。 この要求は、USB ハブ デバイス (GUID_DEVINTERFACE_USB_HUB) を対象としています。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力バッファー

AssociatedIrp.SystemBuffer メンバーは、接続を記述するユーザー割り当て USB_NODE_CONNECTION_INFORMATION 構造体を指します。 入力時に、この構造体の ConnectionIndex メンバーにポート番号が含まれます。

入力バッファーの長さ

USB_NODE_CONNECTION_INFORMATION 構造体のサイズ。

出力バッファー

出力時に、Parameters.DeviceIoControl.OutputBufferLength メンバーには出力データのサイズが含まれます。 ポートに関連付けられているパイプの数によって異なるため、このサイズは可変です。

AssociatedIrp.SystemBuffer は、出力データを含むユーザー割り当て USB_NODE_CONNECTION_INFORMATION 構造体を指します。

出力バッファーの長さ

USB_NODE_CONNECTION_INFORMATION 構造体のサイズ。

状態ブロック

USB スタック Irp->IoStatus.Status 要求が成功した場合にSTATUS_SUCCESSに設定されます。 それ以外の場合、USB スタックは、STATUS_INVALID_PARAMETERやSTATUS_INSUFFICIENT_RESOURCESなどの適切なエラー状態に 状態 を設定します。

備考

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX 要求は、IOCTL_USB_GET_NODE_CONNECTION_INFORMATIONの拡張バージョンです。 2 つの要求は同じですが、要求の拡張バージョンでは低速、フル、高速の接続を報告でき、古い IOCTL_USB_GET_NODE_CONNECTION_INFORMATION 要求では低速およびフルスピードの接続のみが報告される点が異なります。 これら 2 つの要求の違いの詳細については、「USB_NODE_CONNECTION_INFORMATIONUSB_NODE_CONNECTION_INFORMATION_EX」を参照してください。

必要条件

要件 価値
ヘッダー usbioctl.h (Usbioctl.h を含む)

関連項目

IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX

USB_NODE_CONNECTION_INFORMATION

USB_NODE_CONNECTION_INFORMATION_EX