Share via


OpenTraceFromRealTimeLoggerWithAllocationOptions 函式 (evntrace.h)

建立附加至作用中即時 ETW 工作階段的追蹤處理工作階段。

語法

ETW_APP_DECLSPEC_DEPRECATED TRACEHANDLE 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 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 evntrace.h
程式庫 Windows 8.1 和 Windows Server 2012 R2 上的 Sechost.lib;Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 和 Windows XP 上的 Advapi32.lib
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