TraceSetInformation 函式會設定事件追蹤會話設定。
語法
ULONG WMIAPI TraceSetInformation(
CONTROLTRACE_ID TraceId,
[in] TRACE_INFO_CLASS InformationClass,
[in] PVOID TraceInformation,
[in] ULONG InformationLength
);
參數
TraceId
[in] InformationClass
要啟用或停用的資訊類別。 類別擷取的資訊會包含在事件的擴充資料區段中。 如需您可以啟用的資訊類別清單,請參閱 TRACE_QUERY_INFO_CLASS 列舉。
[in] TraceInformation
資訊類別特定資料的指標。 資訊類別會決定此參數的內容。
[in] InformationLength
TraceInformation 緩衝區中資料的大小 (以位元組為單位)。
返回值
如果函式成功,則傳回值為ERROR_SUCCESS。
如果函式失敗,傳回值會是下列其中一個錯誤碼。
ERROR_BAD_LENGTH
程式發出指令,但指令長度不正確。 如果 InformationLength 參數小於大小下限,則會傳回此錯誤。
ERROR_INVALID_PARAMETER
參數不正確。
ERROR_NOT_SUPPORTED
不支援此要求。
其他
使用 FormatMessage 來取得傳回錯誤的訊息字串。
備註
呼叫 StartTrace 之後呼叫此函式。
如果 InformationClass 參數設定為 TraceStackTracingInfo,呼叫此函式會啟用指定核心事件的堆疊追蹤。 對此函式的後續呼叫會覆寫先前啟用堆疊追蹤的核心事件清單。 若要停用堆疊追蹤,請呼叫此函式,並將 InformationClass 設定為 TraceStackTracingInfo ,並將 InformationLength 設定為 0。
事件的擴充資料區段將包含呼叫堆疊。 StackWalk_Event MOF 類別會定義擴充資料的配置。
一般而言,在 64 位元電腦上,當不允許分頁錯誤時,您無法在特定內容中擷取核心堆疊。 若要在 x64 上啟用核心堆疊,請將記憶體管理登錄值設定 DisablePagingExecutive 為 1。
DisablePagingExecutive登錄值位於下列登錄機碼下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management。
這只能用於臨時診斷目的,因為它會增加系統的記憶體使用量。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 7 [僅限桌面應用程式] |
| 支援的最低伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | evntrace.h |
| Library | Windows 8.1 和 Windows Server 2012 R2 上的 AdvAPI32.Lib Sechost.lib;Windows 8、Windows Server 2012、Windows 7 和 Windows Server 2008 R2 上的 Advapi32.lib |
| DLL | 在 Windows 8.1 和 Windows Server 2012 R2 上 Sechost.dll;在 Windows 8、Windows Server 2012、Windows 7 和 Windows Server 2008 R2 上 Advapi32.dll |