使用下列常數來識別NT核心記錄器會話。
| 不斷 | 描述 |
|---|---|
| SystemTraceControlGuid | NT Kernel Logger 事件追蹤會話的控件 GUID。 |
| KERNEL_LOGGER_NAME | NT Kernel Logger 事件追蹤會話的名稱。 |
NT 核心記錄器會話是唯一可以接受來自核心事件提供者事件的會話。 NT 核心記錄器會話不接受來自其他提供者的事件。 如果您想要從其他提供者擷取核心事件和事件,您必須使用兩個不同的會話,取用者必須合併記錄檔中的事件,以提供端對端結果。
ETW 會使用 DEFINE_GUID 巨集來定義 GUID。 若要在程式代碼中使用 SystemTraceControlGuid,您必須先包含 #define INITGUID,才能包含 Evntrace.h。 編譯程式接著會將DEFINE_GUID轉換成常數 GUID。
下列值會定義NT Kernel Logger 工作階段可追蹤之核心事件的可能類別 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 } };