Поделиться через


Добавление макросов WPP в поставщик трассировки

Чтобы добавить стандартную форму трассировки программного обеспечения WPP к поставщику трассировки, например драйверу в режиме ядра или приложению в пользовательском режиме, добавьте следующие директивы препроцессора C и вызовы макросов WPP в исходный код поставщика:

  • Директива #include следующей формы для каждого исходного файла, содержащего макросы WPP. Эта инструкция включает файл заголовка сообщения трассировки , созданный препроцессором WPP для каждого исходного файла:

    #include <source-file-name.tmh>
    

    Файл заголовка сообщения трассировки должен быть включен в исходный файл перед вызовами макросов WPP и после определения WPP_CONTROL_GUIDS макроса.

  • Директива определения WPP_CONTROL_GUIDS каждому исходному файлу, который содержит другие макросы WPP.

    Это определение задает GUID элемента управления драйвера и имена флагов трассировки, определенные драйвером. Определение должно быть добавлено в исходный файл перед инструкцией #include , которая включает файл заголовка сообщения трассировки файла.

  • Один WPP_INIT_TRACING вызов макроса к исходному коду драйвера.

    Для драйверов этот макрос активирует трассировку программного обеспечения в драйвере. Этот макрос обычно вызывается во время инициализации драйвера, например в подпрограмме DriverEntry .

    Для приложений в пользовательском режиме вызовите этот макрос в точке исходного кода, где ранее не предпринимались попытки трассировки.

    После инициализации можно использовать TraceView или Tracelog для запуска сеанса трассировки программного обеспечения и отображения сообщений трассировки.

  • Один WPP_CLEANUP вызов макроса к исходному коду поставщика трассировки . Этот макрос отключает трассировку программного обеспечения в драйвере.

    Для драйверов этот вызов макроса обычно добавляется в подпрограмму выгрузки драйвера.

    Для приложений в пользовательском режиме вызовите этот макрос в точке исходного кода после выполнения последних попыток трассировки.

  • Вызовы макросов DoTraceMessage для ведения журнала сообщений трассировки.