ProcessTraceBufferIncrementReference 函数 (evntrace.h)

在提供的 BufferCallback 期间调用,以防止释放它,直到调用方完成调用。

语法

ETW_APP_DECLSPEC_DEPRECATED ULONG WMIAPI ProcessTraceBufferIncrementReference(
  PROCESSTRACE_HANDLE     TraceHandle,
  const ETW_BUFFER_HEADER *Buffer
);

参数

TraceHandle

缓冲区 来自的处理会话。

Buffer

要引用的缓冲区。 必须通过调用 PETW_BUFFER_CALLBACK 回调来获取此缓冲区。

返回值

Win32 错误代码。 可能的代码可能包括ERROR_INVALID_PARAMETER和ERROR_OUTOFMEMORY。

言论

如果在PETW_BUFFER_CALLBACK期间未在 Buffer 上调用 ProcessTraceBufferIncrementReference,则在PETW_BUFFER_CALLBACK返回后,将无法再访问内存。

调用方负责在缓冲区上调用 ProcessTraceBufferDecrementReference ,一旦处理完它。 在对递增的每个缓冲区执行此操作之前,ProcessTrace 不会返回。

OpenTraceFromBufferStream 打开的处理会话提供的缓冲区不支持 ProcessTraceBufferIncrementReference

要求

要求 价值
最低支持的客户端 Windows 11 2022 更新
支持的最低服务器 Windows Server 2022
目标平台 Windows
页眉 evntrace.h
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 Server Advapi32.dllWindows Vista和Windows XP