共用方式為


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,則 LoggerName 必須是 NULL

只有當追蹤控制器已設定 LogFileMode 成員 EVENT_TRACE_PROPERTIES 以包含 EVENT_TRACE_REAL_TIME_MODE 旗標時,您才能即時取用事件。

只有具有系統管理許可權的使用者、效能記錄使用者群組中的使用者,以及以LocalSystem、LocalService、NetworkService身分執行的應用程式,才能即時取用事件。 若要授與受限制的用戶即時取用事件的能力,請將事件新增至 Performance Log Users 群組,或呼叫 EventAccessControl

Options

此處理工作階段的組態選項。 如需詳細資訊,請參閱 ETW_OPEN_TRACE_OPTIONS

AllocationSize

記憶體的大小,以位元組為單位,將在處理期間預先配置以儲存 ETW 緩衝區。 較大的配置將減少個別配置/免費呼叫的需求,代價是較高的一致記憶體使用量。 這會向上調整為基礎 Real-Time ETW 工作階段的總緩衝區空間下限,以確保已配置足夠的基本功能。 如果為 0,則會使用預設大小。

MemoryPartitionHandle

記憶體分割區的句柄,應該用於此處理會話的記憶體配置。 如果為 NULL,則會使用進程的記憶體分割區。 如需詳細資訊,請參閱 MemExtendedParameterPartitionHandle

LogFileHeader

記錄檔的標頭資訊。 如需詳細資訊,請參閱 TRACE_LOGFILE_HEADER

傳回值

用來識別此處理會話的 TRACEHANDLE。 通常傳遞至 ProcessTrace,開始處理,並 CloseTrace 結束處理。

言論

在傳回 TRACEHANDLE上呼叫 ProcessTrace 之後,這會在排清 ETW 會話時接收緩衝區,並立即開始處理它們,並呼叫 Options 中指定的回呼。 這與 OpenTraceFromRealTime 相同,不同之處在於它允許自定義處理會話的記憶體配置。

要求

要求 價值
最低支援的用戶端 Windows 11 2022 Update
支援的最低伺服器 Windows Server 2022
目標平臺 窗戶
標頭 evntrace.h
連結庫 Advapi32.dll
DLL Sechost.dll Windows 8.1 和 Windows Server 2012 R2;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.dll