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.