EnableTrace 函式 (evntrace.h)
追蹤會話控制器會呼叫 EnableTrace ,以設定 ETW 事件提供者如何將事件記錄到追蹤會話。
此函式已過時。 EnableTraceEx2 函式會取代此函式。
語法
ULONG WMIAPI EnableTrace(
[in] ULONG Enable,
[in] ULONG EnableFlag,
[in] ULONG EnableLevel,
[in] LPCGUID ControlGuid,
CONTROLTRACE_ID TraceId
);
參數
[in] Enable
設定為 1 以啟用從提供者接收事件,或調整從提供者接收事件時所使用的設定 (,例如變更層級和關鍵詞) 。 設定為 0 以停用從提供者接收事件。
[in] EnableFlag
32 位關鍵詞掩碼,可決定您想要提供者寫入的事件類別。 除了符合 EnableLevel critera 之外,提供者通常會寫入事件,如果事件的關鍵詞位符合此值中所設定的任何位,或事件沒有設定任何關鍵字位,則此事件通常會寫入事件。
注意
EventRegister 型提供者支援 64 位關鍵詞。 使用 EnableTraceEx2 啟用使用 64 位 MatchAnyKeyword 遮罩的提供者。
[in] EnableLevel
值,表示您想要提供者寫入的事件層級上限。 除了符合 EnableFlag 準則之外,提供者通常會在事件的層級小於或等於此值時寫入事件。
此值應介於 1 到 255 的範圍內。 Microsoft 定義層級 1-5 的語意,如下所示。 較低的值表示更嚴重的事件。 EnableLevel 的每個值都會啟用指定的層級和所有更嚴重層級。 例如,如果您指定 TRACE_LEVEL_WARNING
,取用者將會收到警告、錯誤和重大事件。
值 | 意義 |
---|---|
TRACE_LEVEL_CRITICAL (1) | 異常結束或終止事件 |
TRACE_LEVEL_ERROR (2) | 嚴重錯誤事件 |
TRACE_LEVEL_WARNING (3) | 警告事件,例如配置失敗 |
TRACE_LEVEL_INFORMATION (4) | 非錯誤資訊事件 |
TRACE_LEVEL_VERBOSE (5) | 詳細的診斷事件 |
TRACE_LEVEL
常數定義於 evntrace.h 中。 對等 WINMETA_LEVEL
常數定義於 winmeta.h 中。
[in] ControlGuid
您想要啟用或停用之事件提供者的控制項 GUID (提供者識別碼) 。
TraceId
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值就是其中一個 系統錯誤碼。 以下是一些常見的錯誤及其原因。
ERROR_INVALID_PARAMETER
以下其中一項為正確:
- ControlGuid 為 NULL。
- TraceHandle 為 NULL。
ERROR_INVALID_FUNCTION
當提供者未註冊時,您無法變更啟用旗標和層級。
ERROR_WMI_GUID_NOT_FOUND
未註冊提供者。 發生於安裝 KB307331 或 Windows 2000 Service Pack 4 且未註冊提供者時。 若要避免此錯誤,必須先註冊提供者。
ERROR_NO_SYSTEM_RESOURCES
超過可啟用提供者的追蹤會話數目。
ERROR_ACCESS_DENIED
只有具有系統管理許可權、群組中的
Performance Log Users
使用者,以及以LocalSystem
、LocalService
執行的服務,或NetworkService
可以啟用跨進程會話的事件提供者。 若要授與受限制的使用者啟用事件提供者的能力,請將他們新增至Performance Log Users
群組或查看 EventAccessControl。Windows XP 和 Windows 2000: 任何人都可以啟用事件提供者。
備註
事件追蹤控制器會呼叫此函式,以設定將事件寫入會話的事件提供者。 例如,控制器可能會呼叫此函式來開始從提供者收集事件、調整從提供者收集的事件層級或關鍵詞,或停止從提供者收集事件。
此函式已過時。 如需其他功能,新的程式碼應該使用 EnableTraceEx2。
下列兩個函式呼叫相等:
// Obsolete:
Status = EnableTrace(
Enable,
EnableFlag,
EnableLevel,
ControlGuid,
TraceHandle);
// Updated equivalent code:
Status = EnableTraceEx2(
TraceHandle,
ControlGuid,
Enable, // ControlCode
EnableLevel,
EnableFlag, // MatchAnyKeyword
0, // MatchAllKeyword
0, // Timeout
NULL); // EnableParameters
如需設定會話提供者之語意的其他詳細數據,請參閱 EnableTraceEx2 的檔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | evntrace.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |