Compartilhar via


Configurando e iniciando uma sessão de agente privado

Uma sessão de rastreamento de eventos privados é uma sessão de rastreamento de eventos no modo de usuário que é executada no mesmo processo que seus provedores de rastreamento de eventos— a sessão privada e os provedores habilitados devem estar todos no mesmo processo. O benefício de usar uma sessão privada é que a sessão privada não conta com o máximo de 64 sessões de rastreamento de eventos em execução simultaneamente.

Configurar e iniciar uma sessão privada é semelhante ao início de uma sessão normal de rastreamento de eventos. A diferença é que o membro Wnode.Guid da estrutura EVENT_TRACE_PROPERTIES deve conter o GUID do provedor, não a sessão e o provedor já deve ter registrado o GUID. Observe que, se você também definir o modo de registro em log EVENT_TRACE_PRIVATE_IN_PROC, poderá usar um GUID diferente para a sessão e o provedor. Para obter detalhes sobre como iniciar uma sessão normal de rastreamento de eventos, consulte Configurando e iniciando uma sessão de rastreamento de eventos.

Observe que você não pode iniciar, parar ou liberar uma sessão de rastreamento privado de DllMain; você deve fazer isso nas rotinas de inicialização e finalização da DLL.

De Windows 8.1 a Windows 10, versão 1607, conteúdo de evento, escopo e filtros de caminhada de pilha podem ser usados pela função EnableTraceEx2 e as estruturas ENABLE_TRACE_PARAMETERS e EVENT_FILTER_DESCRIPTOR para filtrar condições específicas em uma sessão de agente. Para obter mais informações sobre filtros de conteúdo de eventos, consulte as funções TdhCreatePayloadFilter e TdhAggregatePayloadFilters e as estruturas ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTOR e PAYLOAD_FILTER_PREDICATE .

A partir do Windows 10, versão 1703, os usuários de baixo privilégio agora podem iniciar uma sessão de agente privado nos processos iniciados. O provedor não precisa mais ser registrado antes de habilitar ou iniciar a sessão privada, o que significa que o provedor é "pré-habilitado" semelhante à forma como os provedores de sessão não privada são. Há um limite de 8 agentes privados em todo o sistema para um processo individual. Para aumentar o desempenho em cenários entre processos, é recomendável usar a filtragem para APIs de sessão (incluindo ControlTrace, QueryTrace, StartTrace e StopTrace) ao iniciar um agente privado em todo o sistema. Observe que os mesmos filtros devem ser passados para todas as APIs de sessão. Para obter mais informações sobre filtros, consulte EVENT_TRACE_PROPERTIES_V2.

Para obter detalhes sobre como iniciar uma sessão de rastreamento de eventos, consulte Configurando e iniciando uma sessão de rastreamento de eventos.

Para obter detalhes sobre como iniciar uma sessão do Agente do Kernel NT, consulte Configurando e iniciando a sessão do agente do kernel NT.

Para obter detalhes sobre como iniciar uma sessão do Agente Global, consulte Configurando e iniciando uma sessão de agente global.

Para obter detalhes sobre como iniciar uma sessão do AutoLogger, consulte Configurando e iniciando uma sessão do AutoLogger.

Configurando e iniciando uma sessão SystemTraceProvider

Configurando e iniciando uma sessão do AutoLogger

Configurando e iniciando uma sessão de rastreamento de eventos

Configurando e iniciando a sessão do agente do kernel NT

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_TRACE_PROPERTIES

EVENT_TRACE_PROPERTIES_V2

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Atualizando uma sessão de rastreamento de eventos