Función CloseTrace (evntrace.h)

La función CloseTrace cierra una sesión de procesamiento de seguimiento que se creó con OpenTrace.

Sintaxis

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

Parámetros

[in] TraceHandle

Controle la sesión de procesamiento de seguimiento para cerrarse. La función OpenTrace devuelve este identificador.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto es uno de los códigos de error del sistema. A continuación se muestran algunos errores comunes y sus causas.

  • ERROR_INVALID_HANDLE

    Una de las siguientes condiciones se cumple:

    • TraceHandle es 0.
    • TraceHandle está INVALID_PROCESSTRACE_HANDLE.
    • TraceHandle no es un identificador válido.
  • ERROR_BUSY

    Antes de Windows Vista, no se puede cerrar el seguimiento hasta que se complete la función ProcessTrace .

  • ERROR_CTX_CLOSE_PENDING

    La llamada se realizó correctamente. La función ProcessTrace se detendrá después de que haya procesado todos los eventos en tiempo real en sus búferes (no recibirá ningún evento nuevo).

Comentarios

Los consumidores llaman a esta función para cerrar un identificador de seguimiento devuelto por OpenTrace.

Importante

No use esta función para cerrar el identificador de seguimiento devuelto por StartTrace.

Si está procesando eventos desde un archivo de registro, llame a esta función solo después de que se devuelva la función ProcessTrace . Sin embargo, si está procesando eventos en tiempo real, puede llamar a esta función antes de que ProcessTrace devuelva. (Otra manera de detener el procesamiento de seguimiento es devolver FALSE de BufferCallback).

Si llama a esta función antes de que Se devuelva ProcessTrace , la función CloseTrace devuelve ERROR_CTX_CLOSE_PENDING. El código ERROR_CTX_CLOSE_PENDING indica que la llamada a la función CloseTrace se realizó correctamente; La función ProcessTrace detendrá el procesamiento de eventos después de procesar todos los eventos en cola previamente (ProcessTrace no recibirá ningún evento nuevo después de llamar a la función CloseTrace ). Puede llamar a la función CloseTrace desde la devolución de llamada BufferCallback, EventCallback o EventClassCallback .

Antes de Windows Vista: Solo puede llamar a CloseTrace después de que ProcessTrace se devuelva.

Ejemplos

Para obtener un ejemplo que usa CloseTrace, consulte Recuperación de datos de eventos mediante TDH.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado evntrace.h
Library Sechost.lib en Windows 8.1 y Windows Server 2012 R2; Advapi32.lib en Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista y Windows XP
Archivo DLL Sechost.dll en Windows 8.1 y Windows Server 2012 R2; Advapi32.dll en Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2, Windows Server 2008, Windows Vista y Windows XP

Consulte también

OpenTrace

ProcessTrace