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) 文件。 |
|
指示当前运行的配置文件的 XML 格式以及配置文件是否正常运行。 |
|
查询所有配置文件中会话和提供程序的属性。 |
|
propget |
获取指定属性。 |
propput |
设置指定的属性。 |
获取指定 GUID 的提供程序名称。 |
|
获取指定名称的提供程序 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 |
记录预合并跟踪文件的目录的路径。 |