トレース プロバイダーへの WPP マクロの追加

カーネル モード ドライバーやユーザー モード アプリケーションなどの トレース プロバイダーに WPP ソフトウェア トレースの既定の形式を追加するには、次の C プリプロセッサ ディレクティブと WPP マクロ呼び出しをプロバイダーのソース コードに追加します。

  • WPP マクロを含む各ソース ファイルに対する、次の形式の #include ディレクティブ。 このステートメントには、ソース ファイルごとに WPP プリプロセッサ によって作成された トレース メッセージ ヘッダー ファイル が含まれます。

    #include <source-file-name.tmh>
    

    トレース メッセージ ヘッダー ファイルは、WPP マクロを呼び出す前と、 WPP_CONTROL_GUIDS マクロを定義した後にソース ファイルに含める必要があります。

  • 他の WPP マクロを含む各ソース ファイルへの WPP_CONTROL_GUIDS 定義ディレクティブ。

    この定義では、ドライバーのコントロール GUID とドライバー定義のトレース フラグ名を指定します。 ファイルのトレース メッセージ ヘッダー ファイルを含む #include ステートメントの前に、ソース ファイルに定義を追加する必要があります。

  • ドライバーのソース コードに対する 1 つの WPP_INIT_TRACING マクロ呼び出し。

    ドライバーの場合、このマクロはドライバーのソフトウェア トレースをアクティブにします。 このマクロは通常、 DriverEntry ルーチンなど、ドライバーの初期化中に呼び出されます。

    ユーザー モード アプリケーションの場合は、ソース コード内でトレース試行が行われなかった時点でこのマクロを呼び出します。

    初期化後、 TraceView または Tracelog を使用してソフトウェア トレース セッションを開始し、トレース メッセージを表示できます。

  • トレース プロバイダー のソース コードに対する 1 つの WPP_CLEANUP マクロ呼び出し。 このマクロは、ドライバーのソフトウェア トレースを無効にします。

    ドライバーの場合、このマクロ呼び出しは通常、ドライバーの Unload ルーチンに追加されます。

    ユーザー モード アプリケーションの場合は、最後のトレース試行が行われた後、ソース コード内のポイントでこのマクロを呼び出します。

  • トレース メッセージをログに記録する DoTraceMessage マクロ呼び出し。