NT 内核记录器常量
使用以下常量标识 NT 内核记录器会话。
不断 | 描述 |
---|---|
SystemTraceControlGuid | NT 内核记录器事件跟踪会话的控制 GUID。 |
KERNEL_LOGGER_NAME | NT 内核记录器事件跟踪会话的名称。 |
NT 内核记录器会话是唯一可以接受内核事件提供程序的事件的会话。 NT 内核记录器会话不接受来自其他提供程序的事件。 如果要从其他提供程序捕获内核事件和事件,则必须使用两个单独的会话,使用者需要合并日志文件中的事件以提供端到端结果。
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 } };