次の方法で共有


フォールト挿入の有効化

WdfTester ツールは、特定のドライバーの DDI フォールト挿入を構成する WMI インターフェイスを提供します。 この WMI インターフェイスを使用してフォールト挿入を構成するスクリプト (WdftesterScript.wsf) が用意されています。 独自のスクリプトを記述するか、提供されたスクリプトを使用して、フォールト挿入を有効にすることができます。 コマンド プロンプト ウィンドウからスクリプト (WdftesterScript.wsf) を実行して、ドライバーの登録、構成、および登録解除を行うことができます。 スクリプトには、runtest というコマンド ライン オプションもあります。

runtest オプションの機能

runtest オプションは、ドライバーに対する単純な無効化と有効化の操作を実行します。 このオプションは、ツールの使用方法を示します。 最初に、スクリプトは指定されたドライバーを無効にし、その後、有効にします。 これにより、WdfTester は、無効化および有効化の操作中に行われたすべての DDI 呼び出しを監視することができます。 このスクリプトでは、WMI インターフェイスの 1 つを使用して、この期間中に呼び出された DDI の一覧を取得します。 このスクリプトは、失敗する可能性のある DDI を特定します (NTSTATUS を返す DDI のみ)。 その後、スクリプトは別の WMI インターフェイスを呼び出して、一覧の最初の DDI が失敗するように WdfTester を構成します。 このスクリプトは、ドライバーを無効にしてから有効にします。これにより、DDI が失敗し、WMI イベントが発生します。 スクリプトは、既に DDI の WMI 失敗イベントを待機しています。 イベントが正常に受信され、エラーによってコンピューターが応答しなくなったり、バグ チェック (ドライバーの開発者またはテスト担当者によって決定されたもの) が発生しなかった場合、テストは成功したと見なされます。 その後、スクリプトは、一覧の次の DDI に対してこれらの手順を繰り返します。

runtest オプションでは、DevCon (Devcon.exe) ツールをコピーし、他の Wdftester ファイルと同じディレクトリに配置する必要があります。 Devcon.exe アプリケーションは、%WDKRoot%\tools\<platform> ディレクトリにあります。

runtest オプション:

  1. ドライバーを WdfTester に登録します。 ドライバーをインストールしていない場合は、runtest を使用する前にインストールする必要があります。

  2. このドライバーに対して、ドライバーの検証ツールを有効にします (Windows Vista 以降を実行しているコンピューターは、再起動する必要はありません)。

  3. Devcon アプリケーションを使用して、ドライバーを無効にします。

  4. Devcon アプリケーションを使用して、ドライバーを有効にします。

  5. 有効化と無効化の操作中に呼び出された関数の名前を取得し、そのうちで NTSTATUS を返し、失敗する可能性がある関数を特定します。

  6. 非同期の WMI イベント通知を開始します。

  7. 手順 5. で取得した一覧から、失敗する可能性がある DDI ごとに、次の手順を実行します。

    1. 失敗するように関数を構成します。
    2. Devcon.exe を使用して、ドライバーを無効にしてから有効にします。 この操作は関数を呼び出し、WdfTester は関数呼び出しに失敗します。
    3. WMI イベントが発生するまで待機します。
    4. WMI イベントが発生した場合、runtest オプションは、一覧の次の関数に対して手順 7. を繰り返します。
  8. ドライバーの登録を解除します。