次の方法で共有


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または適切なエラー状態に設定します。

必要条件

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