Константы средства ведения журнала ядра NT
Используйте следующие константы для идентификации сеанса ведения журнала ядра NT.
Постоянный | Описание |
---|---|
SystemTraceControlGuid | GUID элемента управления для сеанса трассировки событий nt Kernel Logger. |
KERNEL_LOGGER_NAME | Имя сеанса трассировки событий журнала ядра NT. |
Сеанс ведения журнала ядра NT — это единственный сеанс, который может принимать события от поставщиков событий ядра. Сеанс ведения журнала ядра NT не принимает события от других поставщиков. Если вы хотите записать события ядра и события от других поставщиков, необходимо использовать два отдельных сеанса, и потребителю потребуется объединить события из файлов журнала, чтобы предоставить конечные результаты.
ETW использует макрос DEFINE_GUID для определения идентификаторов GUID. Чтобы использовать SystemTraceControlGuid в коде, необходимо включить #define INITGUID перед включением Evntrace.h. Затем компилятор преобразует DEFINE_GUID в постоянный GUID.
Следующие значения определяют возможные идентификаторы GUID класса для событий ядра, которые может трассировка сеанса ведения журнала ядра NT. Вы можете передать идентификаторы 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 } };