在提供的 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 |