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 が開始または削除されると、各 PDO に対して 1394 バスリセットがトリガーされます。
メジャー コード
ステータス ブロック
Irp-IoStatus.Status> は、要求が成功した場合にSTATUS_SUCCESSに設定されます。
それ以外の場合は、NTSTATUS コードとして適切なエラー条件に対する状態。
詳細については、「 NTSTATUS 値」を参照してください。
注釈
IRQL = PASSIVE_LEVEL で呼び出す必要があります
要件
要件 | 値 |
---|---|
Header | avc.h |