IControlManager

表示 Windows Performance Recorder 管理器,它控制 Windows 事件跟踪 (ETW) 会话。 客户端使用 IProfileCollection 接口传递配置文件集合,管理器可以启动、更新、取消、保存、停止或查询每个配置文件描述的 ETW 会话或提供程序。 客户端可以传入指向 IControlProgressHandler 处理程序的指针,以接收有关管理器执行的操作的更新。

语法

{
  [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

记录预合并跟踪文件的目录的路径。

接口