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


Добавление макросов 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 для регистрации сообщений трассировки.