共用方式為


IControlManager

代表 Windows Performance Recorder 管理員,控制 Windows (ETW) 會話的事件追蹤。 用戶端會使用 IProfileCollection 介面傳遞設定檔集合,而且管理員可以啟動、更新、取消、儲存、停止或查詢每個設定檔所描述的 ETW 會話或提供者。 用戶端可以傳入 IControlProgressHandler 處理常式的指標,以接收管理員執行之作業的相關更新。

Syntax

{
  [propget, id(1), helpstring("property ControlProgressHandler")] HRESULT ControlProgressHandler
    ([out, retval] IControlProgressHandler** ppControlProgressHandler);
  [propput, id(1), helpstring("property ControlProgressHandler")] HRESULT ControlProgressHandler
    ([in] IControlProgressHandler* pControlProgressHandler);
  [id(2), helpstring("Start")] HRESULT Start
    ([in] IProfileCollection* pProfileCollection);
  [id(3), helpstring("Update")] HRESULT Update
    ([in] IProfileCollection* pProfileCollection);
  [id(4), helpstring("Cancel")] HRESULT Cancel
    ([in] IProfileCollection* pProfileCollection);
  [id(5), helpstring("Save")] HRESULT Save
    ([in] BSTR bstrFileName,
    [in] IProfileCollection* pProfileCollection,
    [in] ITraceMergeProperties* pTraceMergeProperties);
  [id(6), helpstring("Stop")] HRESULT Stop
    ([in] BSTR bstrFileName,
    [in] IProfileCollection* pProfileCollection,
    [in] ITraceMergeProperties* pTraceMergeProperties);
  [id(7), helpstring("QueryXML")] HRESULT QueryXML
    ([out] BSTR* pbstrResults,
    [in] VARIANT_BOOL fValidateRuntimeState);
  [id(8), helpstring("Query")] HRESULT Query
    ([out] IProfileCollection** ppProfileCollection,
    [in] VARIANT_BOOL fValidateRuntimeState);
  [propget, id(9), helpstring("property TraceMergeTextHandler")] HRESULT TraceMergeTextHandler
    ([out, retval] ITraceMergeTextHandler** ppTraceMergeTextHandler);
  [propput, id(9), helpstring("property TraceMergeTextHandler")] HRESULT TraceMergeTextHandler
    ([in] ITraceMergeTextHandler* pTraceMergeTextHandler);
  [propget, id(10), helpstring("property TemporaryTraceDirectory")] HRESULT TemporaryTraceDirectory
    ([out, retval] BSTR* pbstrTemporaryTraceDirectory);
  [propput, id(10), helpstring("property TemporaryTraceDirectory")] HRESULT TemporaryTraceDirectory
    ([in] BSTR bstrTemporaryTraceDirectory);
  [id(11), helpstring("GetProviderNameFromGuid")] HRESULT GetProviderNameFromGuid
    ([out] BSTR* bstrProviderIdStr,
    [in] REFGUID ProviderId);
  [id(12), helpstring("GetProviderGuidFromName")] HRESULT GetProviderGuidFromName
    ([out] GUID* ProviderId,
    [in] BSTR bstrProViderName);
};

函式

下表描述這個介面所提供的函式。

函式 描述

開始

開始錄製。

更新

更新設定檔集合。

取消

停止錄製而不儲存任何資料。

儲存

將記錄檔記錄到記憶體中的迴圈緩衝區儲存至指定的事件追蹤記錄檔 (ETL) 檔案。

停止

停止錄製,並將它儲存至指定的事件追蹤記錄檔 (ETL) 檔案。

QueryXML

指出目前正在執行之設定檔的 XML 格式,以及設定檔是否正常執行。

查詢

在所有設定檔中查詢會話和提供者的屬性。

propget

取得指定的屬性。

propput

設定指定的屬性。

GetProviderNameFromGuid

取得指定之 GUID 的提供者名稱。

GetProviderGuidFromName

取得指定名稱的提供者 GUID。

屬性

下表描述這個介面可以取得或設定的屬性參數。

屬性 參數 描述

ControlProgressHandler

ppControlProgressHandler [out]

IControlProgressHandler介面之用戶端實作的指標。

ControlProgressHandler

pControlProgressHandler [in]

IControlProgressHandler介面之用戶端實作的指標。 E_POINTER表示不正確指標。

TraceMergeTextHandler

ppTraceMergeTextHandler [out]

文字的指標,以及 ITraceMergeTextHandler 介面所插入追蹤中的一些其他合併時間資訊。

TraceMergeTextHandler

pTraceMergeTextHandler [in]

文字的指標,以及 ITraceMergeTextHandler 介面所插入追蹤中的一些其他合併時間資訊。 E_POINTER表示不正確指標。

TemporaryTraceDirectory

pbstrTemporaryTraceDirectory [out]

記錄預先合併追蹤檔案之目錄路徑的指標。 預設值為 %temp% 資料夾。

TemporaryTraceDirectory [in]

bstrTemporaryTraceDirectory

記錄預先合併追蹤檔案之目錄的路徑。

介面