次の方法で共有


IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)

IOCTL_INTERNAL_USB_GET_PORT_STATUS I/O 要求は、PDO の状態を照会します。

IOCTL_INTERNAL_USB_GET_PORT_STATUS は、カーネル モードの I/O 制御要求です。 この要求は、USB ハブ PDO を対象とします。 この IOCTL は IRQL = PASSIVE_LEVELで送信する必要があります。

メジャー コード

IRP_MJ_INTERNAL_DEVICE_CONTROL

[入力バッファー]

Parameters.Others.Argument1 は、ポートの状態フラグを入力する ULONG へのポインターである必要があります。

入力バッファーの長さ

ULONG のサイズ。

出力バッファー

Parameters.Others.Argument1 は、ポートステータス フラグが入力されている ULONG を指します。 フラグには、USBD_PORT_ENABLED (ビット 0) またはUSBD_PORT_CONNECTED (ビット 1) のいずれかまたは両方を指定できます。 USB_PORT_ENABLED ビットが設定されると、ポートに接続されているデバイスをリセットした後、ポートが有効になっています。 USB_PORT_ENABLED ビットが明確な場合、ソフトウェアはポートを無効にしたか、ハードウェアがハードウェアの異常な状態のためにそれを無効にしました。 USB_PORT_CONNECTED ビットが設定されると、ホスト コントローラーのルート ハブまたは外部ハブによって、デバイスがポートに接続されていることが検出されました。 USB_PORT_CONNECTED ビットがクリアされると、ホスト コントローラーのルート ハブまたは外部ハブが、デバイスがポートに接続されていないことを検出しました。

出力バッファーの長さ

ULONG のサイズ。

ステータス ブロック

バスまたはポート ドライバーは、Irp-IoStatus.Status> をSTATUS_SUCCESSまたは適切なエラー状態に設定します。

要件

要件
Header usbioctl.h (Usbioctl.h を含む)