Share via


Adicionando macros WPP a um provedor de rastreamento

Para adicionar a forma padrão de rastreamento de software WPP a um provedor de rastreamento, como um driver de modo kernel ou um aplicativo de modo de usuário, adicione as seguintes diretivas de pré-processador C e chamadas de macro WPP ao código-fonte do provedor:

  • Uma diretiva #include do formulário a seguir para cada arquivo de origem que contém quaisquer macros WPP. Essa instrução inclui o arquivo de cabeçalho de mensagem de rastreamento criado pelo pré-processador WPP para cada arquivo de origem:

    #include <source-file-name.tmh>
    

    O arquivo de cabeçalho da mensagem de rastreamento deve ser incluído em um arquivo de origem antes de qualquer macro WPP chamar e depois de definir uma macro WPP_CONTROL_GUIDS .

  • Uma diretiva de definição de WPP_CONTROL_GUIDS para cada arquivo de origem que inclui outras macros WPP.

    Essa definição especifica o GUID de controle do driver e os nomes de sinalizador de rastreamento definidos pelo driver. A definição deve ser adicionada a um arquivo de origem antes da instrução #include que inclui o arquivo de cabeçalho de mensagem de rastreamento do arquivo.

  • Uma WPP_INIT_TRACING chamada de macro para o código-fonte do driver.

    Para drivers, essa macro ativa o rastreamento de software no driver. Essa macro normalmente é chamada durante a inicialização do driver, por exemplo, em uma rotina DriverEntry .

    Para aplicativos de modo de usuário, chame essa macro em um ponto no código-fonte em que nenhuma tentativa de rastreamento tenha sido feita anteriormente.

    Após a inicialização, você pode usar TraceView ou Tracelog para iniciar uma sessão de rastreamento de software e exibir mensagens de rastreamento.

  • Uma WPP_CLEANUP chamada de macro para o código-fonte do provedor de rastreamento . Essa macro desativa o rastreamento de software no driver.

    Para drivers, essa chamada de macro normalmente é adicionada à rotina Descarregue do driver.

    Para aplicativos de modo de usuário, chame essa macro em um ponto do código-fonte após a última tentativa de rastreamento ter sido feita.

  • Chamadas de macro DoTraceMessage para registrar mensagens de rastreamento em log.