次の方法で共有


IWDTFPNPActions2::EDTTryStopDeviceFailRestart メソッド (wdtfpnpaction.h)

ターゲット デバイスにIRP_MN_STOP_DEVICE イベントを送信してから、後続のデバイスの再起動に失敗します。

構文

HRESULT EDTTryStopDeviceFailRestart(
  [out, retval] VARIANT_BOOL *pbSuccess
);

パラメーター

[out, retval] pbSuccess

操作が成功した場合は True。それ以外の場合は false。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

メモ このメソッドを呼び出す前に、ターゲット デバイスに対して IWDTFEnhancedDeviceTestSupportAction2::Enable メソッドを呼び出す必要があります。
 
EDTTryStopDeviceFailRestart は PnP リソースの再調整 (クエリの停止、停止、IRP シーケンスの開始) をトリガーしようとします。このシーケンスでは、クエリの停止と停止の成功に続くIRP_MN_START_DEVICE イベントが失敗します。 失敗したスタート IRP により、システムがデバイスを突然削除します (IRP_MN_SURPRISE_REMOVAL)。

停止 IRP は保証されません。 スタック上の他のドライバーは、停止 IRP の前にIRP_MN_QUERY_STOP_DEVICEイベントが失敗する可能性があります (その結果、IRP_MN_CANCEL_STOP_DEVICE)。 また、ターゲット デバイスがハードウェア リソース (USB マウスなど) を使用していないことを検出し、代わりに CancelStop IRP を送信すると、システムが最適化される場合があります。

デバイスでハードウェア リソースが消費されないが、ドライバーとアプリケーションが PnP リソースの再調整を失敗した開始で処理する方法をテストする場合は、代わりに、ハードウェア リソースを消費する親デバイス、祖父母などで EDTTryStopDeviceFailRestart メソッドを実行できます。 たとえば、デバイスが USB マウスの場合は、代わりに親 USB コントローラーでこのメソッドを実行できます。

要件

要件
対象プラットフォーム デスクトップ
Header wdtfpnpaction.h