Compartilhar via


StopAndRelogTracingSession

O SDK do C++ Build Insights é compatível com o Visual Studio 2017 e posterior. Para ver a documentação dessas versões, defina o controle seletor de Versão do Visual Studio deste artigo para o Visual Studio 2017 ou posterior. Ele é encontrado na parte superior da tabela de conteúdo nesta página.

A função StopAndRelogTracingSession interrompe uma sessão de rastreamento em andamento e salva o rastreamento resultante em um arquivo temporário. Em seguida, uma sessão de novo registro é iniciada imediatamente usando o arquivo temporário como uma entrada. O rastreamento com novo registro final produzido pela sessão de novo registro é salvo em um arquivo especificado pelo chamador. Os executáveis que chamam essa função devem ter privilégios de administrador.

Sintaxe

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const char*                                   sessionName,
    const char*                                   outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const wchar_t*                                sessionName,
    const wchar_t*                                outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

Parâmetros

sessionName
O nome da sessão de rastreamento a ser interrompida. Use o mesmo nome de sessão que o passado para StartTracingSession, StartTracingSessionA ou StartTracingSessionW.

outputLogFile
O arquivo no qual gravar o rastreamento com novo registro produzido pela sessão de novo registro.

estatísticas
Ponteiro para um objeto TRACING_SESSION_STATISTICS. StopAndRelogTracingSession grava estatísticas de coleção de rastreamento neste objeto antes de retornar.

numberOfAnalysisPasses
O número de passagens de análise a ser executado no rastreamento. O rastreamento é passado pelo grupo analisador fornecido uma vez por passagem de análise.

systemEventsRetentionFlags
Uma máscara de bits RELOG_RETENTION_SYSTEM_EVENT_FLAGS que especifica quais eventos ETW do sistema manter no rastreamento com novo registro.

analyzerGroup
O grupo analisador usado para a fase de análise da sessão de novo registro. Chame MakeStaticAnalyzerGroup para criar um grupo de analisadores. Se você quiser usar um grupo de analisadores dinâmicos obtido do MakeDynamicAnalyzerGroup, primeiro encapsule-o dentro de um grupo de analisadores estáticos passando seu endereço para MakeStaticAnalyzerGroup.

reloggerGroup
O grupo de relogger que faz novo registro de eventos no arquivo de rastreamento especificado em outputLogFile. Chame MakeStaticReloggerGroup para criar um grupo de relogger. Se você quiser usar um grupo de criação de registro dinâmico obtido do MakeDynamicReloggerGroup, primeiro encapsule-o dentro de um grupo de criação de registro estático passando seu endereço para MakeStaticReloggerGroup.

Valor de Devolução

Um código de resultado da enumeração RESULT_CODE.

Comentários

O rastreamento de entrada é passado por meio do grupo de analisador numberOfAnalysisPasses vezes. Não há nenhuma opção semelhante para passagens de novo registro. O rastreamento é passado pelo grupo de relogger apenas uma vez, depois que todas as passagens de análises forem concluídas.

Não há suporte para o novo registro de eventos do sistema, como exemplos de CPU, dentro de uma classe de criação de registro. Use o parâmetro systemEventsRetentionFlags para decidir quais eventos do sistema manter no rastreamento de saída.