NT-Kernelprotokollierungskonstanten
Verwenden Sie die folgenden Konstanten, um die NT-Kernelprotokollierungssitzung zu identifizieren.
| Konstante | BESCHREIBUNG |
|---|---|
| SystemTraceControlGuid | Die Steuerelement-GUID für die Ereignisablaufverfolgungssitzung des NT-Kernelprotokollierungsereignisses. |
| _ _ KERNELPROTOKOLLIERUNGSNAME | Der Name der Nt Kernel Logger-Ereignisablaufverfolgungssitzung. |
Die NT-Kernelprotokollierungssitzung ist die einzige Sitzung, die Ereignisse von Kernelereignisanbietern akzeptieren kann. Die NT-Kernelprotokollierungssitzung akzeptiert keine Ereignisse von anderen Anbietern. Wenn Sie Kernelereignisse und Ereignisse anderer Anbieter 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 DEFINE _ GUID-Makro, um GUIDs zu definieren. Um SystemTraceControlGuid in Ihren Code zu verwenden, müssen Sie # initguid definieren, 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 von einer NT-Kernelprotokollierungssitzung verfolgt werden können. 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 | |
| Registry | |
| SplitIo | |
| Tcpip | |
| Thread | |
| UdpIp | |
Hinweise
Um die GUIDs zu verwenden, kopieren Sie die GUID-Definitionen, die Sie verwenden möchten, in Ihren Quellcode. Sie müssen # define INITGUID einschließen, bevor Sie die Definitionen in Ihren Quellcode einfügen, damit der Compiler die _ DEFINE-GUID in eine konstante GUID umschaltt. 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 } };