WPP ソフトウェア トレース を使用すると、ドライバーのデバッグに役立つトレース メッセージを追加できます。 さらに、フレームワークの イベント ロガー には、表示できる数百のトレース メッセージが用意されています。
TraceView または Tracelog を使用して、トレース メッセージを表示できます。 また、カーネル デバッガー にトレース メッセージを送信することもできます。
ドライバーへのトレース メッセージの追加
フレームワーク ベースのドライバーにトレース メッセージを追加するには、次の操作を行う必要があります。
WPP マクロのいずれかを含むドライバーの各ソース ファイルに #include ディレクティブを追加します。 このディレクティブは、トレース メッセージ ヘッダー (TMH) ファイルを識別する必要があります。 ファイル名の形式<driver-source-file-name>.tmh である必要があります。
たとえば、ドライバーが MyDriver1.c と MyDriver2.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}*.tmhVisual Studio でドライバー プロジェクトの追加の WPP トレース設定を指定するには、ソリューション エクスプローラーでドライバー プロジェクトを右クリックします。 次に、>構成プロパティ->-WPP トレース へのリンクに従います。
トレース構成ファイルを指定するには、[Scan Configuration Data]\(構成データのスキャン\) 設定を使用します。 複数のトレース構成ファイルの場合は、次のように [コマンド ライン] -> [追加オプション] の下に追加します。
-scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"ドライバーにトレース メッセージを追加する方法の詳細については、「ドライバーへの WPP マクロの追加」をご参照ください。
WPP ソフトウェア トレースを使用するサンプル ドライバー
AMCC5933、NONPNP、KMDF_FX2、PCIDRV、PLX9x5x、およびシリアル サンプル ドライバー では、WPP ソフトウェア トレースが使用されます。