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 オプション:
ドライバーを WdfTester に登録します。 ドライバーをインストールしていない場合は、runtest を使用する前にインストールする必要があります。
このドライバーに対して、ドライバーの検証ツールを有効にします (Windows Vista 以降を実行しているコンピューターは、再起動する必要はありません)。
Devcon アプリケーションを使用して、ドライバーを無効にします。
Devcon アプリケーションを使用して、ドライバーを有効にします。
有効化と無効化の操作中に呼び出された関数の名前を取得し、そのうちで NTSTATUS を返し、失敗する可能性がある関数を特定します。
非同期の WMI イベント通知を開始します。
手順 5. で取得した一覧から、失敗する可能性がある DDI ごとに、次の手順を実行します。
- 失敗するように関数を構成します。
- Devcon.exe を使用して、ドライバーを無効にしてから有効にします。 この操作は関数を呼び出し、WdfTester は関数呼び出しに失敗します。
- WMI イベントが発生するまで待機します。
- WMI イベントが発生した場合、runtest オプションは、一覧の次の関数に対して手順 7. を繰り返します。
ドライバーの登録を解除します。