TraceSetInformation 函式 (evntrace.h)
TraceSetInformation 函式會設定事件追蹤會話設定。
語法
ULONG WMIAPI TraceSetInformation(
[in] TRACEHANDLE SessionHandle,
[in] TRACE_INFO_CLASS InformationClass,
[in] PVOID TraceInformation,
[in] ULONG InformationLength
);
參數
[in] SessionHandle
要設定的事件追蹤會話控制碼。 StartTrace函式會在啟動新的追蹤時傳回此控制碼。 若要取得現有追蹤的控制碼,請使用ControlTrace根據追蹤的名稱查詢追蹤屬性,然後從傳 EVENT_TRACE_PROPERTIES
回資料的Wnode.HistoricalCoNtext欄位取得控制碼。
[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
。
這應該僅供暫時診斷之用,因為它會增加系統的記憶體使用量。
規格需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平臺 | Windows |
標頭 | evntrace.h |
程式庫 | Windows 8.1 和 Windows Server 2012 R2 上的 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 |