次の方法で共有


KMDF ドライバーでの WPP ソフトウェア トレースの使用

WPP ソフトウェア トレース を使用すると、ドライバーのデバッグに役立つトレース メッセージを追加できます。 さらに、フレームワークの イベント ロガー には、表示できる数百のトレース メッセージが用意されています。

TraceView または Tracelog を使用して、トレース メッセージを表示できます。 また、カーネル デバッガー にトレース メッセージを送信することもできます。

ドライバーへのトレース メッセージの追加

フレームワーク ベースのドライバーにトレース メッセージを追加するには、次の操作を行う必要があります。

  • WPP マクロのいずれかを含むドライバーの各ソース ファイルに #include ディレクティブを追加します。 このディレクティブは、トレース メッセージ ヘッダー (TMH) ファイルを識別する必要があります。 ファイル名の形式<driver-source-file-name>.tmh である必要があります。

    たとえば、ドライバーが MyDriver1.cMyDriver2.c という 2 つのソース ファイルで構成されている場合、MyDriver1.c には次のものが含まれている必要があります。

    #include "MyDriver1.tmh"

    さらに MyDriver2.c には次のものが含まれている必要があります。

    #include "MyDriver2.tmh"

    Microsoft Visual Studio でドライバーをビルドすると、WPP プリプロセッサが .tmh ファイルを生成します。

  • ヘッダー ファイルで WPP_CONTROL_GUIDS マクロを定義します。 このマクロは、ドライバーのトレース メッセージの GUID フラグと トレース フラグ を定義します。

  • ドライバーの DriverEntry ルーチンWPP_INIT_TRACING マクロを含めます。 このマクロは、ドライバーのソフトウェア トレースをアクティブにします。

  • ドライバーの EvtDriverUnload コールバック関数に WPP_CLEANUP マクロを含めます。 このマクロは、ドライバーのソフトウェア トレースを無効にします。

  • トレース メッセージを作成するには、ドライバーで DoTraceMessage マクロまたはカスタマイズされたバージョンのマクロを使用します。

  • ドライバー プロジェクトのプロパティ ページを開きます。 ソリューション エクスプローラーで、ドライバー プロジェクトを右クリックし、 [プロパティ] を選択します。 ドライバーのプロパティ ページで、[構成プロパティ]Wpp トレース の順にクリックします。 [全般] メニューの [WPP トレースの実行] を [はい] に設定します。 [ファイル オプション] メニューで、フレームワークの WPP テンプレート ファイルも指定する必要があります。次に例を示します。

    {km-WdfDefault.tpl}*.tmh
    
  • Visual Studio でドライバー プロジェクトの追加の WPP トレース設定を指定するには、ソリューション エクスプローラーでドライバー プロジェクトを右クリックします。 次に、>構成プロパティ->-WPP トレース へのリンクに従います。

  • トレース構成ファイルを指定するには、[Scan Configuration Data]\(構成データのスキャン\) 設定を使用します。 複数のトレース構成ファイルの場合は、次のように [コマンド ライン] -> [追加オプション] の下に追加します。

    -scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
    

    ドライバーにトレース メッセージを追加する方法の詳細については、「ドライバーへの WPP マクロの追加」をご参照ください。

WPP ソフトウェア トレースを使用するサンプル ドライバー

AMCC5933、NONPNP、KMDF_FX2、PCIDRV、PLX9x5x、およびシリアル サンプル ドライバー では、WPP ソフトウェア トレースが使用されます。