Partilhar via


PararERegistrarNovamenteSessãoDeRastreamento

O C++ Build Insights SDK é compatível com o Visual Studio 2017 e posterior. Para ver a documentação destas versões, defina o controlo seletor de versão do Visual Studio para este artigo para Visual Studio 2017 ou posterior. Encontra-se na parte superior do índice desta página.

A StopAndRelogTracingSession função interrompe uma sessão de rastreamento em andamento e salva o rastreamento resultante em um arquivo temporário. Uma sessão de relog é então imediatamente iniciada usando o arquivo temporário como entrada. O rastreamento final reregistrado produzido pela sessão de reregistro é 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

nome_da_sessão
O nome da sessão de rastreamento que se pretende interromper. Use o mesmo nome de sessão utilizado em StartTracingSession, StartTracingSessionAou StartTracingSessionW.

ficheiroDeRegistoDeSaída
O ficheiro no qual gravar o rasto relogado produzido pela sessão de relogação.

estatísticas
Ponteiro para um objeto TRACING_SESSION_STATISTICS. StopAndRelogTracingSession grava estatísticas de coleta de rastreio neste objeto antes de retornar.

númeroDePassesDeAnálise
O número de passes de análise a executar no rastreamento. O rastreamento é passado pelo grupo de analisadores fornecido uma vez por passo de análise.

systemEventsRetentionFlags
Uma máscara de bits RELOG_RETENTION_SYSTEM_EVENT_FLAGS que especifica quais eventos ETW do sistema devem ser mantidos no rastreamento reregistrado.

grupo de analisadores
O grupo de analisadores usado para a fase de análise da sessão de reinício de ligação. Chame MakeStaticAnalyzerGroup para criar um grupo de analisadores. Se você deseja usar um grupo de analisadores dinâmicos obtido de MakeDynamicAnalyzerGroup, primeiro encapsula-o dentro de um grupo de analisadores estáticos passando seu endereço para MakeStaticAnalyzerGroup.

reloggerGroup
O grupo de relogger que reregistra eventos no arquivo de rastreamento especificado em outputLogFile. Chame MakeStaticReloggerGroup para criar um grupo de relogger. Se você deseja usar um grupo de relogger dinâmico obtido de MakeDynamicReloggerGroup, primeiro encapsula-o dentro de um grupo de relogger estático passando seu endereço para MakeStaticReloggerGroup.

Valor de retorno

Um código de resultado do RESULT_CODE enum.

Observações

O rastreamento de entrada é passado pelo grupo do analisador numberOfAnalysisPasses vezes. Não há opção semelhante para reregistrar passes. O traço é passado pelo grupo de relogadores apenas uma vez, depois de todas as passagens de análise estarem concluídas.

Não há suporte para o reregistro de eventos do sistema, como amostras de CPU, de dentro de uma classe de relogger. Use o parâmetro systemEventsRetentionFlags para decidir quais eventos do sistema devem ser mantidos no rastreamento de saída.