2010-01-25 3 views
11

Ich forsche Ereignis Tracing für Windows (ETW), um einem Benutzermodus-Windows-Client zu ermöglichen, Ablaufverfolgungsinformationen zu schreiben. Die vorliegende Dokumentation ist, um es leicht zu sagen, wahnsinnig unvollständig. Was wirklich helfen würde, ist ein einfaches C++ - Beispiel, das Tracing-Nachrichten mit ETW ausgibt. Existiert ein solches Beispiel? Gibt es andere ETW-Dokumentation, die Sie empfehlen können?Verwendung von ETW von einem C++ - Windows-Client

Antwort

14

Um eine Provider für ETW zu schreiben, haben Sie zwei Möglichkeiten, sie entweder als Manifest-basierten Provider (bevorzugt für Vista oder höher) oder einen klassischen Anbieter für Legacy-Unterstützung zu schreiben. Wenn manifest-based ist die Methode, die Sie gehen möchten, dann überprüfen Sie an example here. Alternativ haben Sie eine classic provider example here finden.

Ich nehme an, dass Sie einen Manifest-basierten Ansatz als besser verwenden möchten und bis zu 8 Sitzungen unterstützen können. Der erste Schritt für einen manifestbasierten Anbieter besteht darin, das Ereignis unter Verwendung von EventRegister zu registrieren und dann über die Funktion EventWrite oder EventWriteString dorthin zu schreiben.

5

Dieses Dokument von Microsoft ist ein guter Anfang here