ENABLE_TRACE_PARAMETERS_V1 结构 (evntrace.h)
ENABLE_TRACE_PARAMETERS_V1 结构包含用于通过 EnableTraceEx2 启用提供程序的信息。 此结构已过时。 请改 用 ENABLE_TRACE_PARAMETERS 。
语法
typedef struct _ENABLE_TRACE_PARAMETERS_V1 {
ULONG Version;
ULONG EnableProperty;
ULONG ControlFlags;
GUID SourceId;
PEVENT_FILTER_DESCRIPTOR EnableFilterDesc;
} ENABLE_TRACE_PARAMETERS_V1, *PENABLE_TRACE_PARAMETERS_V1;
成员
Version
设置为 ENABLE_TRACE_PARAMETERS_VERSION (1) 。
EnableProperty
编写事件时 ETW 可以包含的可选信息。 数据将写入事件的 扩展数据项 部分。 若要包含可选信息,请指定以下一个或多个标志:否则,设置为零。
EVENT_ENABLE_PROPERTY_SID
在扩展数据中包括用户的安全标识符 (SID) 。
EVENT_ENABLE_PROPERTY_TS_ID
在扩展数据中包含终端会话标识符。
EVENT_ENABLE_PROPERTY_STACK_TRACE
将调用堆栈跟踪添加到使用 EventWrite 编写的事件的扩展数据。
注意
如果总事件大小超过 64K,ETW 将删除事件。 如果提供程序正在记录最大大小接近 64K 的事件,则启用堆栈捕获可能会导致事件丢失。
如果堆栈长于 (192) 的最大帧数,则将从堆栈底部剪切帧。
对于使用者,事件将包括 EVENT_EXTENDED_ITEM_STACK_TRACE32 或 EVENT_EXTENDED_ITEM_STACK_TRACE64 扩展项。 请注意,32 位使用者可能会从 64 位进程接收 64 位堆栈跟踪。
ControlFlags
保留。 设置为 0。
SourceId
一个 GUID,用于唯一标识正在启用或禁用提供程序的调用方。 如果提供程序未实现 EnableCallback,则不使用 GUID。
EnableFilterDesc
指向筛选器数据的 EVENT_FILTER_DESCRIPTOR 结构。 提供程序使用筛选数据来防止将匹配筛选条件的事件写入会话。 提供程序确定数据的布局以及它如何将筛选器应用于事件的数据。 一个会话只能将一个筛选器传递给提供程序。
会话可以调用 TdhEnumerateProviderFilters 函数来确定它可以传递给提供程序的架构化筛选器。
备注
ENABLE_TRACE_PARAMETERS_V1 已过时。 ENABLE_TRACE_PARAMETERS 结构是版本 2 结构,取代了ENABLE_TRACE_PARAMETERS_V1结构。
通常,在 64 位计算机上,如果不允许页面错误,则不能在某些上下文中捕获内核堆栈。 若要在 x64 上启用内核堆栈,请将 DisablePagingExecutive
“内存管理”注册表值设置为 1。 注册表 DisablePagingExecutive
值位于以下注册表项下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
。
这只能用于临时诊断目的,因为这会增加系统的内存使用量。
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | evntrace.h |