NT カーネル ロガー定数
NT カーネル ロガー セッションを識別するには、次の定数を使用します。
定数 | 形容 |
---|---|
SystemTraceControlGuid | NT カーネル ロガー イベント トレース セッションのコントロール GUID。 |
KERNEL_LOGGER_NAME | NT カーネル ロガー イベント トレース セッションの名前。 |
NT カーネル ロガー セッションは、カーネル イベント プロバイダーからのイベントを受け入れることができる唯一のセッションです。 NT カーネル ロガー セッションは、他のプロバイダーからのイベントを受け入れません。 他のプロバイダーからカーネル イベントとイベントをキャプチャする場合は、2 つの個別のセッションを使用する必要があります。コンシューマーはログ ファイルからイベントをマージしてエンドツーエンドの結果を提供する必要があります。
ETW では、DEFINE_GUID マクロを使用して GUID を定義します。 コード SystemTraceControlGuid を使用するには、Evntrace.h を含める前 #define INITGUID を含める必要があります。 コンパイラは、DEFINE_GUIDを定数 GUID に変換します。
次の値は、NT カーネル ロガー セッションでトレースできるカーネル イベントに使用できるクラス GUID を定義します。 クラス GUID を SetTraceCallback 関数に渡して、イベント クラスごとに特別な処理を設定できます。
クラス | GUID |
---|---|
ALPCをする |
|
DiskIoの |
|
HWConfigと SystemConfigのをする |
|
FileIoの |
|
イメージ |
|
PageFault_V2 |
|
PerfInfoをする |
|
プロセス |
|
レジストリ |
|
SplitIoをする |
|
TcpIpの |
|
スレッド |
|
UdpIpをする |
|
備考
GUID を使用するには、使用する GUID 定義をソース コードにコピーします。 ソース コード #define 含める定義の前に INITGUID を含める必要があるため、コンパイラはDEFINE_GUIDを定数 GUID に変換します。 例えば
#define INITGUID
DEFINE_GUID ( /* 3d6fa8d1-fe05-11d0-9dda-00c04fd7ba7c */
ThreadGuid,
0x3d6fa8d1,
0xfe05,
0x11d0,
0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c
);
DEFINE_GUID ( /* 3d6fa8d0-fe05-11d0-9dda-00c04fd7ba7c */
ProcessGuid,
0x3d6fa8d0,
0xfe05,
0x11d0,
0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c
);
代わりに、GUID 定義の定数 GUID を自分で定義することもできます。 例えば
static const GUID ThreadGuid =
{ 0x3d6fa8d0, 0xfe05, 0x11d0, { 0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c } };