Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SystemTraceProvider es un proveedor de kernel con conjuntos predefinidos de eventos de kernel admitidos en Windows 7, Windows Server 2008 R2 y versiones posteriores. En Windows 7 y Windows Server 2008 R2, SystemTraceProvider solo se puede usar para la sesión del registrador de kernel NT.
En Windows 8, Windows Server 2012 y versiones posteriores, SystemTraceProvider se puede multiplexar para hasta 8 sesiones de registro. Las dos primeras ranuras para las sesiones del registrador se reservan para el registrador del núcleo NT y el registrador de contexto del núcleo circular.
Para obtener más información sobre el uso de la sesión del registrador de kernel de NT como proveedor de seguimiento, vea Configuring and Starting the NT Kernel Logger Session.
En la compilación 20348 y posteriores del SDK de Windows 10, SystemTraceProvider se puede configurar a través de proveedores de sistema independientes, que se pueden controlar con EnableTraceEx2, al igual que el rastreo estándar de eventos para proveedores de eventos de Windows. Para obtener una lista completa de proveedores de sistema, palabras clave y marcas y grupos heredados correspondientes, consulte Proveedores de sistema.
Habilitación de una sesión de SystemTraceProvider
Para permitir que SystemTraceProvider inicie una sesión distinta del registrador de kernel de NT, ejecute el siguiente comando:
tracelog -start MySession -f c:\Kernel1.etl -eflag PROC_THREAD+LOADER+CSWITCH
Para habilitar mediante programación SystemTraceProvider para iniciar una sesión distinta del registrador de kernel de NT, siga estos pasos.
Defina un nombre de registrador privado.
#define PRIVATE_LOGGER_NAME L"Some Private Trace Session" (Sesión de seguimiento privado)
En el controlador, establezca los siguientes miembros de la estructura EVENT_TRACE_PROPERTIES .
Establezca LogFileMode en EVENT_TRACE_SYSTEM_LOGGER_MODE.
Establezca LoggerName en registrador privado, en lugar de KERNEL_LOGGER_NAME.
Asegúrese de que el miembro Wnode.Guid de la estructura EVENT_TRACE_PROPERTIES no esté establecido en SystemTraceControlGuid. Debe asignar un nuevo GUID a este miembro.
En el consumidor, establezca el miembro LoggerName de la estructura EVENT_TRACE_LOGFILE en este registrador privado.
Nota:
Si desea que un proceso que no sea administrador o que no sea de bloque de control TCP (TCB) pueda iniciar una sesión de seguimiento de generación de perfiles mediante SystemTraceProvider en nombre de aplicaciones de terceros, debe conceder el privilegio de perfil de usuario y, a continuación, agregar este usuario al GUID de sesión (creado para la sesión del registrador) y el GUID del proveedor de seguimiento del sistema para habilitar el proveedor de seguimiento del sistema. Para obtener más información, consulte la función EventAccessControl .
Temas relacionados
Configuración e inicio de una sesión de registrador privado
Configuración e inicio de una sesión de autologger
Configuración e inicio de una sesión de seguimiento de eventos
Configuración e inicio de la sesión del registrador de kernel de NT
Actualización de una sesión de seguimiento de eventos