Función StopTraceA (evntrace.h)
La función StopTrace detiene la sesión de seguimiento de eventos especificada.
Esta función está obsoleta. La función ControlTrace sustituye a esta función.
Sintaxis
ULONG WMIAPI StopTraceA(
CONTROLTRACE_ID TraceId,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Parámetros
TraceId
InstanceName
Nombre de la sesión de seguimiento de eventos que se va a detener o NULL. Debe especificar InstanceName si TraceHandle es 0.
Para especificar la sesión del registrador de kernel nt, establezca InstanceNameen KERNEL_LOGGER_NAME.
Properties
Puntero a una estructura de EVENT_TRACE_PROPERTIES que recibe las propiedades y estadísticas finales de la sesión.
Si usa una estructura recién inicializada, solo tiene que establecer los miembros Wnode.BufferSize, Wnode.Guid, LoggerNameOffset y LogFileNameOffset de la estructura. Puede usar el nombre de sesión máximo (1024 caracteres) y las longitudes máximas de nombre de archivo de registro (1024 caracteres) para calcular el tamaño y los desplazamientos del búfer si no se conocen.
A partir de Windows 10, versión 1703: Para mejorar el rendimiento en escenarios entre procesos, ahora puede pasar el filtrado a StopTrace para registradores privados de todo el sistema. Deberá pasar la nueva estructura de EVENT_TRACE_PROPERTIES_V2 para incluir información de filtrado. Consulte Configuración e inicio de una sesión de registrador privado para obtener más información.
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_BAD_LENGTH
Una de las siguientes condiciones se cumple:
- El miembro Wnode.BufferSize de Properties especifica un tamaño incorrecto.
- Las propiedades no tienen espacio suficiente asignado para contener una copia del nombre de la sesión y el nombre del archivo de registro (si se usa).
ERROR_INVALID_PARAMETER
Una de las siguientes condiciones se cumple:
- Las propiedades son NULL.
- InstanceName y TraceHandle son NULL.
- InstanceName es NULL y TraceHandle no es un identificador válido.
ERROR_ACCESS_DENIED Solo los usuarios con privilegios administrativos, los usuarios del grupo Usuarios del registro de rendimiento y los servicios que se ejecutan como LocalSystem, LocalService, NetworkService pueden controlar las sesiones de seguimiento de eventos. Para conceder a un usuario restringido la capacidad de controlar las sesiones de seguimiento, agréguelas al grupo Usuarios del registro de rendimiento.
Windows XP y Windows 2000: Cualquier persona puede controlar una sesión de seguimiento.
Comentarios
Los controladores de seguimiento de eventos llaman a esta función.
Esta función está obsoleta. En su lugar, use ControlTrace con ControlCode establecido en EVENT_TRACE_CONTROL_STOP.
Si LogFileMode contiene EVENT_TRACE_FILE_MODE_PREALLOCATE, StartTrace extiende el archivo de registro a maximumFileSize bytes. El archivo ocupa todo el espacio durante el registro, tanto para los registros circulares como secuenciales. Al detener el registrador, el archivo de registro se reduce al tamaño necesario.
No llame a StopTrace desde DllMain (puede provocar interbloqueo).
Nota
El encabezado evntrace.h define StopTrace como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
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 |