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 設定為 TraceStackTracingInfoInformationLength 設定為 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

另請參閱

TRACE_QUERY_INFO_CLASS

TraceQueryInformation