OpenTraceFromBufferStream 函数 (evntrace.h)

创建不直接附加到任何文件或活动会话的跟踪处理会话。

语法

ETW_APP_DECLSPEC_DEPRECATED PROCESSTRACE_HANDLE WMIAPI OpenTraceFromBufferStream(
  const ETW_OPEN_TRACE_OPTIONS    *Options,
  PETW_BUFFER_COMPLETION_CALLBACK BufferCompletionCallback,
  void                            *BufferCompletionContext
);

参数

Options

此处理会话的配置选项。 有关详细信息,请参阅 ETW_OPEN_TRACE_OPTIONS

BufferCompletionCallback

处理会话使用从 ProcessTraceAddBufferToBufferStream传入的缓冲区完成时,它将调用此回调以允许该缓冲区可能需要的任何释放或其他清理。

BufferCompletionContext

将传递给 BufferCompletionCallback的用户提供的上下文。

返回值

用于标识此处理会话的 TRACEHANDLE。 通常传递给 ProcessTrace 以开始处理,并 CloseTrace 结束处理。

言论

调用方应通过调用 ProcessTraceAddBufferToBufferStream来提供跟踪的数据。 这通常用于远程实时跟踪处理:远程系统使用 OpenTraceFromRealTimeLogger并使用 BufferCallback 将缓冲区发送到本地系统的 BufferCallback。 然后,本地系统调用 OpenTraceFromBufferStreamProcessTrace,从网络接收缓冲区,并使用 ProcessTraceAddBufferToBufferStream将它们馈送到本地跟踪处理器。

此处理模式要求以从 ProcessTrace 接收缓冲区的顺序提供缓冲区(例如,第一个缓冲区包含标头信息,后续缓冲区按刷新时间排序)。 以这种方式生成缓冲区的唯一支持方法是从另一个 OpenTraceFromBufferStreamBufferCallbackOpenTraceFromFileOpenTraceFromRealTimeLoggerOpenTraceFromRealTimeLoggerWithAllocationOptions 处理会话。

要求

要求 价值
最低支持的客户端 Windows 11 2022 更新
支持的最低服务器 Windows Server 2022
目标平台 窗户
标头 evntrace.h
Advapi32.dll
DLL Windows 8.1 和 Windows Server 2012 R2 上的 Sechost.dll;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.dll