ProcessTraceBufferIncrementReference 函数 (evntrace.h)

在提供的 Buffer 上的 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 期间未在缓冲区上调用 processTraceBufferIncrementReference,则在 PETW_BUFFER_CALLBACK 返回后,将无法再访问内存。

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

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

要求

要求 价值
最低支持的客户端 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