Función QueryTraceA (evntrace.h)
La función QueryTrace recupera la configuración de propiedades y las estadísticas de sesión para 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 QueryTraceA(
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 consultar 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 inicializada.
Solo tiene que establecer el miembro Wnode.BufferSize de la estructura EVENT_TRACE_PROPERTIES . 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.
En la salida, los miembros de la estructura contienen la configuración de propiedades y las estadísticas de sesión de la sesión de seguimiento de eventos.
A partir de Windows 10, versión 1703: Para mejorar el rendimiento en escenarios entre procesos, ahora puede pasar el filtrado a QueryTrace 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 que se ejecutan con privilegios administrativos elevados, los usuarios del grupo Usuarios del registro de rendimiento y los servicios que se ejecutan como LocalSystem, LocalService, NetworkService pueden consultar las sesiones de seguimiento de eventos. Para conceder a un usuario restringido la capacidad de consultar sesiones de seguimiento, agréguelas al grupo Usuarios del registro de rendimiento o vea EventAccessControl.
Windows XP y Windows 2000: Cualquier persona puede controlar una sesión de seguimiento.
ERROR_WMI_INSTANCE_NOT_FOUND
La sesión especificada no se está ejecutando.
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_QUERY.
Nota
El encabezado evntrace.h define QueryTrace 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 | Advapi32.lib |
Archivo DLL | Advapi32.dll |