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 |