配置和启动专用记录器会话

专用事件跟踪会话是在其事件跟踪提供程序所在的同一进程中运行的用户模式事件跟踪会话-专用会话及其启用的提供程序必须全部位于同一进程中。 使用专用会话的好处是,专用会话不计入同时执行的最多 64 个事件跟踪会话。

配置和启动专用会话类似于启动普通事件跟踪会话。 区别在于,EVENT_TRACE_PROPERTIES 结构的 Wnode.Guid 成员必须包含提供程序的 GUID,而不是会话,并且提供程序必须已注册 GUID。 请注意,如果还设置了EVENT_TRACE_PRIVATE_IN_PROC日志记录模式,则可以对会话和提供程序使用不同的 GUID 。 有关启动正常事件跟踪会话的详细信息,请参阅 配置和启动事件跟踪会话

请注意,无法从 DllMain 启动、停止或刷新专用跟踪会话;应在 DLL 的初始化和最终确定例程中执行此操作。

从Windows 8.1到Windows 10版本 1607、事件有效负载、范围和堆栈遍程筛选器,EnableTraceEx2 函数以及ENABLE_TRACE_PARAMETERSEVENT_FILTER_DESCRIPTOR结构可用于筛选记录器会话中的特定条件。 有关事件有效负载筛选器的详细信息,请参阅 TdhCreatePayloadFilterTdhAggregatePayloadFilters 函数以及 ENABLE_TRACE_PARAMETERSEVENT_FILTER_DESCRIPTORPAYLOAD_FILTER_PREDICATE 结构。

从 Windows 10 版本 1703 开始,低特权用户现在可以在启动的进程中启动专用记录器会话。 在启用或启动专用会话之前,不再需要注册提供程序,这意味着提供程序的“预启用”类似于非专用会话提供程序。 单个进程限制为 8 个系统范围的专用记录器。 为了提高跨进程方案中的性能,建议在启动系统范围的专用记录器时,对会话 API 使用筛选 (包括 ControlTraceQueryTraceStartTraceStopTrace) 。 请注意,应将相同的筛选器传递给所有会话 API。 有关筛选器的详细信息,请参阅 EVENT_TRACE_PROPERTIES_V2

有关启动事件跟踪会话的详细信息,请参阅 配置和启动事件跟踪会话

有关启动 NT 内核记录器会话的详细信息,请参阅 配置和启动 NT 内核记录器会话

有关启动全局记录器会话的详细信息,请参阅 配置和启动全局记录器会话

有关启动自动记录器会话的详细信息,请参阅 配置和启动自动记录会话

配置和启动 SystemTraceProvider 会话

配置和启动 AutoLogger 会话

配置和启动事件跟踪会话

配置和启动 NT 内核记录器会话

EnableTraceEx2

ENABLE_TRACE_PARAMETERS

EVENT_TRACE_PROPERTIES

EVENT_TRACE_PROPERTIES_V2

EVENT_FILTER_DESCRIPTOR

PAYLOAD_FILTER_PREDICATE

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

更新事件跟踪会话