UpdateHeapTrace
此函数使用一组新的 PID、堆栈步进事件或其他 ETW 会话更改来更新现有的堆跟踪会话。
ULONG
WINAPI
UpdateHeapTrace(
_Inout_ PEVENT_TRACE_PROPERTIES Properties,
_In_z_ LPCWSTR wszSessionName,
_In_reads_opt_(cPids) const ULONG Pids[],
_In_ ULONG cPids,
_In_reads_opt_(cStackTracingEventIds) const STACK_TRACING_EVENT_ID StackTracingEventIds[],
_In_ ULONG cStackTracingEventIds
);
参数
TraceHandle [out]
存储事件跟踪会话的句柄。 如果句柄无效,则此参数设置为零。 不应将此参数与 INVALID_HANDLE_VALUE 进行比较。 如果该函数失败,则不要使用此句柄。
Properties [in, out]
指向具有会话的更新属性的 EVENT_TRACE_PROPERTIES 结构的指针。 有关可以指定此结构的哪些成员的详细信息,请参阅具有 ControlCode EVENT_TRACE_CONTROL_UPDATE 的 ControlTrace 函数。
wszSessionName[in]
要更新的堆跟踪会话的名称。 这应与传递给 StartHeapTrace 的名称相同。
StackTracingEventIds [in]
STACK_TRACING_EVENT_ID 结构的数组,用于指定应启用哪个堆事件堆栈步进。 可以为 NULL。
cStackTracingEventIds [in]
StackTracingEventIds 数组的大小。
返回值
ERROR_SUCCESS 表示成功。
下表中描述了可能的错误值。
错误值 | 说明 |
---|---|
ERROR_ALREADY_EXISTS |
系统上仅运行内核记录器的单个实例。 如果此函数尝试在另一个组件启动内核日志记录后启动,则可能会返回此错误。 |
ERROR_INVALID_FLAGS |
可能表示 Properties.EnableFlags 中存在无效的跟踪标志。 |
ERROR_OUT_OF_MEMORY |
可能表示无法为 EVENT_TRACE_PROPERTIES 分配内存。 |
如果该函数由于其他原因失败,则返回系统错误代码。
备注
无