Freigeben über


Verwenden der WPP-Softwareablaufverfolgung in KMDF-Treibern

Mit der WPP-Softwareablaufverfolgung können Sie Ablaufverfolgungsmeldungen hinzufügen, mit denen Sie Ihren Treiber debuggen können. Darüber hinaus stellt die Ereignisprotokollierung des Frameworks Hunderte von Ablaufverfolgungsmeldungen bereit, die Sie anzeigen können.

Sie können Ablaufverfolgungsmeldungen mithilfe von TraceView oder Tracelog anzeigen. Sie können auch Ablaufverfolgungsmeldungen an einen Kerneldebugger senden.

Hinzufügen von Ablaufverfolgungsmeldungen zu Ihrem Treiber

Um Ablaufverfolgungsmeldungen zu Ihrem frameworkbasierten Treiber hinzuzufügen, müssen Sie:

  • Fügen Sie eine #include-Direktive zu jeder Der Quelldateien Ihres Treibers hinzu, die eines der WPP-Makros enthält. Diese Direktive muss eine TMH-Datei (Trace Message Header) identifizieren. Der Dateiname muss das Format <driver-source-file-name.tmh> aufweisen.

    Wenn Ihr Treiber beispielsweise aus zwei Quelldateien namens MyDriver1.c und MyDriver2.c besteht, muss MyDriver1.c Folgendes enthalten:

    #include "MyDriver1.tmh"

    und MyDriver2.c müssen Folgendes enthalten:

    #include "MyDriver2.tmh"

    Wenn Sie Ihren Treiber in Microsoft Visual Studio erstellen, generiert der WPP-Präprozessor den . tmh-Dateien .

  • Definieren Sie ein WPP_CONTROL_GUIDS-Makro in einer Headerdatei. Dieses Makro definiert eine GUID und Ablaufverfolgungsflags für die Ablaufverfolgungsmeldungen Ihres Treibers.

  • Schließen Sie ein WPP_INIT_TRACING-Makro in die DriverEntry-Routine Ihres Treibers ein. Dieses Makro aktiviert die Softwareablaufverfolgung in Ihrem Treiber.

  • Fügen Sie ein WPP_CLEANUP Makro in die EvtDriverUnload-Rückruffunktion Ihres Treibers ein. Dieses Makro deaktiviert die Softwareablaufverfolgung in Ihrem Treiber.

  • Verwenden Sie das DoTraceMessage-Makro oder eine angepasste Version des Makros in Ihrem Treiber, um Ablaufverfolgungsmeldungen zu erstellen.

  • Öffnen Sie die Eigenschaftenseiten für Ihr Treiberprojekt. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Treiberprojekt, und wählen Sie Eigenschaften aus. Klicken Sie auf den Eigenschaftenseiten für den Treiber auf Konfigurationseigenschaften und dann auf Wpp-Ablaufverfolgung. Legen Sie im Menü Allgemeindie Option WPP-Ablaufverfolgung ausführen auf Ja fest. Im Menü Dateioptionen sollten Sie auch die WPP-Vorlagendatei des Frameworks angeben, z. B.:

    {km-WdfDefault.tpl}*.tmh
    
  • Um zusätzliche WPP-Ablaufverfolgungseinstellungen für Ihr Treiberprojekt in Visual Studio anzugeben, klicken Sie mit der rechten Maustaste auf das Treiberprojekt in Projektmappen Explorer. Folgen Sie dann dem Link zu Eigenschaften-Konfigurationseigenschaften-WPP-Ablaufverfolgung>>.

  • Verwenden Sie die Einstellung "Konfigurationsdaten überprüfen", um eine Ablaufverfolgungskonfigurationsdatei anzugeben. Fügen Sie sie für mehrere Ablaufverfolgungskonfigurationsdateien wie folgt unter der Befehlszeile hinzu:> "Zusätzliche Optionen".

    -scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
    

    Weitere Informationen zum Hinzufügen von Ablaufverfolgungsmeldungen zu Ihrem Treiber finden Sie unter Hinzufügen von WPP-Makros zu einem Treiber.

Beispieltreiber, die WPP-Softwareablaufverfolgung verwenden

Die Treiber AMCC5933, NONPNP, KMDF_FX2, PCIDRV, PLX9x5x und Serial verwenden die WPP-Softwareablaufverfolgung.