次の方法で共有


TraceLogging リファレンス

次のトピックでは、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>を含める前に WINVER が設定されていない場合、<windows.h> は 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 を呼び出します)。