Função CloseTrace (evntrace.h)

A função CloseTrace fecha uma sessão de processamento de rastreamento que foi criada com OpenTrace.

Sintaxe

ETW_APP_DECLSPEC_DEPRECATED ULONG WMIAPI CloseTrace(
  [in] TRACEHANDLE TraceHandle
);

Parâmetros

[in] TraceHandle

Manipule para a sessão de processamento de rastreamento a ser fechada. A função OpenTrace retorna esse identificador.

Valor retornado

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado será um dos códigos de erro do sistema. Veja a seguir alguns erros comuns e suas causas.

  • ERROR_INVALID_HANDLE

    Uma das seguintes condições é verdadeira:

    • TraceHandle é 0.
    • TraceHandle é INVALID_PROCESSTRACE_HANDLE.
    • TraceHandle não é um identificador válido.
  • ERROR_BUSY

    Antes do Windows Vista, você não pode fechar o rastreamento até que a função ProcessTrace seja concluída.

  • ERROR_CTX_CLOSE_PENDING

    A chamada foi bem-sucedida. A função ProcessTrace será interrompida depois de processar todos os eventos em tempo real em seus buffers (ela não receberá nenhum novo evento).

Comentários

Os consumidores chamam essa função para fechar um identificador de rastreamento retornado pelo OpenTrace.

Importante

Não use essa função para fechar o identificador de rastreamento retornado por StartTrace.

Se você estiver processando eventos de um arquivo de log, chame essa função somente depois que a função ProcessTrace retornar. No entanto, se você estiver processando eventos em tempo real, poderá chamar essa função antes que ProcessTrace retorne. (Outra maneira de interromper o processamento de rastreamento é retornar FALSE de BufferCallback.)

Se você chamar essa função antes de ProcessTrace retornar, a função CloseTrace retornará ERROR_CTX_CLOSE_PENDING. O código ERROR_CTX_CLOSE_PENDING indica que a chamada de função CloseTrace foi bem-sucedida; A função ProcessTrace interromperá o processamento de eventos depois de processar todos os eventos enfileirados anteriormente (o ProcessTrace não receberá nenhum novo evento depois que você chamar a função CloseTrace ). Você pode chamar a função CloseTrace de seu retorno de chamada BufferCallback, EventCallback ou EventClassCallback .

Antes do Windows Vista: Você pode chamar CloseTrace somente após o retorno do ProcessTrace .

Exemplos

Para obter um exemplo que usa CloseTrace, consulte Recuperando dados de evento usando TDH.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho evntrace.h
Biblioteca Sechost.lib em Windows 8.1 e Windows Server 2012 R2; Advapi32.lib no Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista e Windows XP
DLL Sechost.dll em Windows 8.1 e Windows Server 2012 R2; Advapi32.dll no Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista e Windows XP

Confira também

OpenTrace

ProcessTrace