NT-Kernelprotokollierungskonstanten
Verwenden Sie die folgenden Konstanten, um die NT-Kernelprotokollierungssitzung zu identifizieren.
Konstante | BESCHREIBUNG |
---|---|
SystemTraceControlGuid | Die Steuerelement-GUID für die NT Kernel Logger-Ereignisablaufverfolgungssitzung. |
KERNEL_LOGGER_NAME | Der Name der NT Kernel Logger-Ereignisablaufverfolgungssitzung. |
Die NT-Kernelprotokollierungssitzung ist die einzige Sitzung, die Ereignisse von Kernelereignisanbietern akzeptieren kann. Die NT Kernel Logger-Sitzung akzeptiert keine Ereignisse von anderen Anbietern. Wenn Sie Kernelereignisse und -ereignisse von anderen Anbietern erfassen möchten, müssen Sie zwei separate Sitzungen verwenden, und der Consumer muss die Ereignisse aus den Protokolldateien zusammenführen, um End-to-End-Ergebnisse bereitzustellen.
ETW verwendet das makro DEFINE_GUID, um GUIDs zu definieren. Um SystemTraceControlGuid in Ihrem Code verwenden zu können, müssen Sie #define INITGUID einschließen, bevor Sie Evntrace.h einschließen. Der Compiler wandelt dann die DEFINE_GUID in eine konstante GUID um.
Die folgenden Werte definieren die möglichen Klassen-GUIDs für Kernelereignisse, die eine NT-Kernelprotokollierungssitzung nachverfolgen kann. Sie können die Klassen-GUIDs an die SetTraceCallback-Funktion übergeben, um eine spezielle Verarbeitung für jede Ereignisklasse einzurichten.
Klasse | GUID |
---|---|
ALPC |
|
DiskIo |
|
HWConfig und SystemConfig |
|
FileIo |
|
Image |
|
PageFault_V2 |
|
PerfInfo |
|
Prozess |
|
Registrierung |
|
SplitIo |
|
Tcpip |
|
Thread |
|
UdpIp |
|
Bemerkungen
Um die GUIDs zu verwenden, kopieren Sie die GUID-Definitionen, die Sie verwenden möchten, in Ihren Quellcode. Sie müssen #define INITGUID vor den Definitionen, die Sie in Ihren Quellcode einschließen, einschließen, damit der Compiler die DEFINE_GUID in eine konstante GUID verwandelt. Beispiel:
#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
);
Alternativ können Sie die konstante GUID für die GUID-Definitionen selbst definieren. Beispiel:
static const GUID ThreadGuid =
{ 0x3d6fa8d0, 0xfe05, 0x11d0, { 0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c } };