PETW_BUFFER_CALLBACK回调函数 (evntrace.h)

将由 ProcessTrace 调用的 BufferCallback 的函数定义。

语法

PETW_BUFFER_CALLBACK PetwBufferCallback;

BOOL PetwBufferCallback(
  const ETW_BUFFER_HEADER *Buffer,
  ULONG BufferSize,
  const ETW_BUFFER_CALLBACK_INFORMATION *ConsumerInfo,
  void *CallbackContext
)
{...}

参数

Buffer

指向原始缓冲区数据的指针,该数据以 ETW_BUFFER_HEADER 结构开头,后跟事件数据。

默认情况下,此缓冲区仅在回调返回之前可用。 若要在回调返回后使用缓冲区,请调用 ProcessTraceBufferIncrementReference。 这将保持缓冲区可用,直到你调用 其上的 ProcessTraceBuffererDecrementReference

ProcessTrace 不会返回,直到所有此类缓冲区引用都已递减。

BufferSize

提供的 缓冲区的大小。

ConsumerInfo

包含有关处理会话的当前状态的信息。

CallbackContext

用户从ETW_OPEN_TRACE_OPTIONS提供的上下文 。BufferCallbackContext

返回值

如果 为 TRUE,则处理将继续。 如果 为 FALSE,则跟踪处理将停止, ProcessTrace 将返回。

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 evntrace.h
Library Windows 8.1 和 Windows Server 2012 R2 上的 Sechost.lib;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.lib
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