トレース ログ リファレンス

次のトピックでは、C/C++ TraceLogging API に関する情報を提供します。

注意

C/C++ コードからイベントを生成していて、そのイベントがコンパイル時に定義されている場合は、このセクションで説明する API を使用します。 それ以外の場合は、.NET コードからイベントを生成する場合は、.NET EventSource クラスを使用します。 それ以外の場合は、Windows ランタイム (WinRT) を使用する場合は、LoggingChannel を使用します。 そうしないと、 TraceLoggingDynamic などのコミュニティでサポートされているオプションを使用できる場合があります。

TraceLogging は Windows イベント トレーシング (ETW) に基づいており、マニフェスト ベースの ETW または WPP よりも使いやすいです。 TraceLogging を使用すると、構造化データを含むイベントを生成でき、ETW アクティビティを使用したイベント関連付けをサポートし、デコードに個別のインストルメンテーション マニフェスト XML ファイルは必要ありません。

TraceLoggingProvider.h は、ユーザー モードまたはカーネル モードの C/C++ 開発者に推奨される API です。 次のリンクでは、C/C++ API について説明します。

WINVER (ユーザー モード) の値は、TraceLoggingProvider.h の動作に影響することに注意してください。

  • を含める<windows.h><windows.h>前に WINVER が設定されていない場合、WINVER は SDK バージョンに対応する既定値に設定されます。
  • WINVER を 0x0602 (Windows 8) 以上に設定して TraceLoggingProvider.h を使用する場合、Windows Vista または Windows 7 でプログラムが実行されないことがあります (TraceLoggingProvider.h は、Windows Vista または Windows 7 の RTM バージョンに存在しなかった EventSetInformation を直接使用しようとします)。
  • WINVER を 0x0600 (Windows Vista) または0x0601 (Windows 7) に設定して TraceLoggingProvider.h を使用する場合、プログラムは互換性のために構成され、指定されたバージョンの Windows で動作します (使用可能な場合、TraceLoggingProvider.h は GetProcAddress を介して EventSetInformation を呼び出します)。