OpenTraceFromRealTimeLoggerWithAllocationOptions 函数 (evntrace.h)
创建附加到活动实时 ETW 会话的跟踪处理会话。
语法
ETW_APP_DECLSPEC_DEPRECATED PROCESSTRACE_HANDLE WMIAPI OpenTraceFromRealTimeLoggerWithAllocationOptions(
PCWSTR LoggerName,
const ETW_OPEN_TRACE_OPTIONS *Options,
ULONG_PTR AllocationSize,
HANDLE MemoryPartitionHandle,
TRACE_LOGFILE_HEADER *LogFileHeader
);
参数
LoggerName
实时事件跟踪会话的名称;如果处理日志文件中的数据,NULL。 如果要调用 OpenTraceFromRealTimeLoggerWithAllocationOptions 来使用实时会话中的数据,请为此成员指定值。
调用 OpenTraceFromRealTimeLoggerWithAllocationOptions时,如果 logFileHeader 为非NULL,则必须 LoggerNameNULL。
仅当跟踪控制器已设置 LogFileModeEVENT_TRACE_PROPERTIES 成员以包含 EVENT_TRACE_REAL_TIME_MODE 标志时,才能实时使用事件。
只有具有管理权限、性能日志用户组中的用户以及作为 LocalSystem、LocalService、NetworkService 运行的应用程序才能实时使用事件。 若要授予受限用户实时使用事件的能力,请将它们添加到性能日志用户组,或调用 EventAccessControl。
Options
此处理会话的配置选项。 有关详细信息,请参阅 ETW_OPEN_TRACE_OPTIONS。
AllocationSize
将在处理过程中预先分配用于存储 ETW 缓冲区的内存的大小(以字节为单位)。 更大的分配将减少单个分配/免费调用的需求,代价是较高的一致性内存使用率。 这将向上调整为基础 Real-Time ETW 会话的总缓冲区空间的最小值,以确保为基本功能分配足够的缓冲区空间。 如果为 0,将使用默认大小。
MemoryPartitionHandle
用于此处理会话的内存分配的内存分区的句柄。 如果为 NULL,将使用进程的内存分区。 有关详细信息,请参阅 MemExtendedParameterPartitionHandle。
LogFileHeader
日志文件的标头信息。 有关详细信息,请参阅 TRACE_LOGFILE_HEADER。
返回值
用于标识此处理会话的 TRACEHANDLE。 通常传递给 ProcessTrace 以开始处理,并 CloseTrace 结束处理。
言论
ProcessTrace 在返回 TRACEHANDLE上调用后,这将在刷新 ETW 会话时接收缓冲区,并立即开始处理它们,并调用选项中指定的回调。 这与 OpenTraceFromRealTime 相同,只不过它允许自定义处理会话的内存分配。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 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 |