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_TRACE32EVENT_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

请参阅

ENABLE_TRACE_PARAMETERS

EVENT_FILTER_DESCRIPTOR

EnableTraceEx2