次の方法で共有


IOCTL_AVC_BUS_RESET IOCTL (avc.h)

IOCTL_AVC_BUS_RESET I/O 制御コードを使用すると、呼び出し元は、AVC_SUBUNIT_ADDR_TRIGGERBUSRESET フラグを使用しなかった以前のIOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFOおよびIOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO制御要求を完了できます。 IRP_MJ_DEVICE_CONTROL ディスパッチを通じて、ユーザー モードとカーネル モード コンポーネントで使用できます。

ドライバー間通信の場合は、METHOD_BUFFERED IOCTL であるため、それに応じて IRP フィールドを設定します (IrpStack->Parameters.DeviceIoControl.InputBufferLength および Irp->AssociatedIrp.SystemBuffer)。 この要求には追加のパラメーターは必要ないため、入力バッファーと出力バッファーは NULL に設定する必要があります。

この要求により、avc.sys はデバイスの関係を無効にするため、PnP マネージャーは子デバイス オブジェクト (仮想サブユニット) の更新された一覧を要求します。 新しい子デバイス オブジェクトまたは削除された子デバイス オブジェクトがない場合、アクションは実行されません。 新しい子デバイス オブジェクトまたは削除された子デバイス オブジェクトがある場合は、ドライバーが読み込まれるかアンロードされ、各 PDO の開始または削除時に 1394 バスのリセットがトリガーされます。

メジャー コード

IRP_MJ_DEVICE_CONTROL

状態ブロック

Irp->IoStatus.Status は、要求が成功した場合にSTATUS_SUCCESSに設定されます。

それ以外の場合は、NTSTATUS コードとして適切なエラー条件の状態になります。

詳細については、「NTSTATUS 値 を参照してください。

備考

IRQL = PASSIVE_LEVEL で呼び出す必要があります

必要条件

要件 価値
ヘッダー avc.h

関連項目

AVC_SUBUNIT_ADDR_SPEC

IOCTL_AVC_CLASS

IOCTL_AVC_REMOVE_VIRTUAL_SUBUNIT_INFO

IOCTL_AVC_UPDATE_VIRTUAL_SUBUNIT_INFO