Hinzufügen von WPP-Makros zu einem Ablaufverfolgungsanbieter
Zum Hinzufügen der Standardform der WPP-Softwareablaufverfolgung zu einem Ablaufverfolgungsanbieter, z. B. einem Kernelmodustreiber oder einer Benutzermodusanwendung, fügen Sie dem Quellcode des Anbieters die folgenden C-Präprozessoranweisungen und WPP-Makroaufrufe hinzu:
Eine #include-Anweisung der folgenden Form für jede Quelldatei, die WPP-Makros enthält. Diese Anweisung enthält die Vom WPP-Präprozessor erstellte Ablaufverfolgungsnachrichtenheaderdatei für jede Quelldatei:
#include <source-file-name.tmh>
Die Headerdatei der Ablaufverfolgungsnachricht muss in einer Quelldatei enthalten sein, bevor ein WPP-Makro aufgerufen wird und nachdem ein WPP_CONTROL_GUIDS Makro definiert wurde.
Eine WPP_CONTROL_GUIDS Definitionsdirektive für jede Quelldatei, die andere WPP-Makros enthält.
Diese Definition gibt die Steuerelement-GUID des Treibers und die vom Treiber definierten Ablaufverfolgungsflagnamen an. Die Definition muss einer Quelldatei vor der #include-Anweisung hinzugefügt werden, die die Headerdatei der Ablaufverfolgungsnachricht enthält.
Ein WPP_INIT_TRACING Makroaufruf für den Quellcode des Treibers.
Für Treiber aktiviert dieses Makro die Softwareablaufverfolgung im Treiber. Dieses Makro wird in der Regel während der Treiberinitialisierung aufgerufen, z. B. in einer DriverEntry-Routine .
Rufen Sie dieses Makro bei Anwendungen im Benutzermodus an einem Punkt im Quellcode auf, an dem zuvor keine Ablaufverfolgungsversuche durchgeführt wurden.
Nach der Initialisierung können Sie TraceView oder Tracelog verwenden, um eine Softwareablaufverfolgungssitzung zu starten und Ablaufverfolgungsmeldungen anzuzeigen.
Ein WPP_CLEANUP Makroaufruf für den Quellcode des Ablaufverfolgungsanbieters . Dieses Makro deaktiviert die Softwareablaufverfolgung im Treiber.
Bei Treibern wird dieser Makroaufruf in der Regel der Entladeroutine des Treibers hinzugefügt.
Rufen Sie bei Anwendungen im Benutzermodus dieses Makro an einem Punkt im Quellcode auf, nachdem die letzten Ablaufverfolgungsversuche durchgeführt wurden.
DoTraceMessage-Makroaufrufe zum Protokollieren von Ablaufverfolgungsmeldungen.