Configuración e inicio de una sesión de registrador privado

Una sesión de seguimiento de eventos privados es una sesión de seguimiento de eventos en modo de usuario que se ejecuta en el mismo proceso que sus proveedores de seguimiento de eventos: la sesión privada y los proveedores que habilita deben estar en el mismo proceso. La ventaja de usar una sesión privada es que la sesión privada no cuenta con el máximo de 64 sesiones de seguimiento de eventos que se ejecutan simultáneamente.

La configuración e inicio de una sesión privada es similar a iniciar una sesión de seguimiento de eventos normal. La diferencia es que el miembro Wnode.Guid de la estructura de EVENT_TRACE_PROPERTIES debe contener el GUID del proveedor, no la sesión, y el proveedor ya debe haber registrado el GUID. Tenga en cuenta que si también establece el modo de registro de EVENT_TRACE_PRIVATE_IN_PROC, puede usar un GUID diferente para la sesión y el proveedor. Para obtener más información sobre cómo iniciar una sesión de seguimiento de eventos normal, consulte Configuración e inicio de una sesión de seguimiento de eventos.

Tenga en cuenta que no puede iniciar, detener ni vaciar una sesión de seguimiento privada de DllMain; Debe hacerlo en las rutinas de inicialización y finalización del archivo DLL.

Desde Windows 8.1 hasta Windows 10, los filtros de recorrido de eventos, ámbito y carga de eventos pueden usarse mediante la función EnableTraceEx2 y las estructuras de ENABLE_TRACE_PARAMETERS y EVENT_FILTER_DESCRIPTOR para filtrar por condiciones específicas en una sesión del registrador. Para obtener más información sobre los filtros de carga de eventos, consulte las funciones TdhCreatePayloadFilter y TdhAggregatePayloadFilters y las estructuras ENABLE_TRACE_PARAMETERS, EVENT_FILTER_DESCRIPTOR y PAYLOAD_FILTER_PREDICATE .

A partir de Windows 10, versión 1703, los usuarios con pocos privilegios ahora pueden iniciar una sesión de registrador privado en los procesos que iniciaron. El proveedor ya no debe registrarse antes de habilitar o iniciar la sesión privada, lo que significa que el proveedor es "habilitado previamente" de forma similar a la forma en que se encuentran los proveedores de sesión no privados. Hay un límite de 8 registradores privados de todo el sistema a un proceso individual. Para aumentar el rendimiento en escenarios entre procesos, se recomienda usar el filtrado para las API de sesión (incluidos ControlTrace, QueryTrace, StartTrace y StopTrace) al iniciar un registrador privado en todo el sistema. Tenga en cuenta que se deben pasar los mismos filtros a todas las API de sesión. Para obtener más información sobre los filtros, consulte EVENT_TRACE_PROPERTIES_V2.

Para obtener más información sobre cómo iniciar una sesión de seguimiento de eventos, consulte Configuración e inicio de una sesión de seguimiento de eventos.

Para obtener más información sobre cómo iniciar una sesión de registrador de kernel de NT, vea Configuring and Starting the NT Kernel Logger Session.

Para obtener más información sobre cómo iniciar una sesión de registrador global, consulte Configuración e inicio de una sesión de registrador global.

Para obtener más información sobre cómo iniciar una sesión de AutoLogger, consulte Configuring and Starting an AutoLogger Session.

Configuración e inicio de una sesión de SystemTraceProvider

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

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_TRACE_PROPERTIES

EVENT_TRACE_PROPERTIES_V2

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

Actualización de una sesión de seguimiento de eventos