IProfile

表示客户端控制的配置文件。 接口提供用于从文件或字符串以 XML 格式加载配置文件的函数。 客户端可以通过添加或删除 Windows 事件跟踪 (ETW) 提供程序来确定是否允许用户更新配置文件。

语法

{
  typedef enum
  {
    LoggingMode_Unknown,
    LoggingMode_Memory,
    LoggingMode_File,
  }
  CLoggingMode;
  typedef enum
  {
    DetailLevel_Unknown,
    DetailLevel_Light,
    DetailLevel_Verbose,
  }
  CDetailLevel;
  [propget, id(1), helpstring("IsMutable")] HRESULT IsMutable
    ([out, retval] VARIANT_BOOL* pfMutable);
  [propput, id(1), helpstring("IsMutable")] HRESULT IsMutable
    ([in] VARIANT_BOOL fMutable);  [propget, id(2), helpstring("Version")] HRESULT Version
    ([out, retval] float* pVersion);
  [propget, id(3), helpstring("Author")] HRESULT Author
    ([out, retval] BSTR* pbstrAuthor);
  [propget, id(4), helpstring("Team")] HRESULT Team
    ([out, retval] BSTR* pbstrTeam);
  [propget, id(5), helpstring("Comments")] HRESULT Comments
    ([out, retval] BSTR* pbstrComments);
  [propget, id(6), helpstring("Company")] HRESULT Company
    ([out, retval] BSTR* pbstrCompany);
  [propget, id(7), helpstring("Copyright")] HRESULT Copyright
    ([out, retval] BSTR* pbstrCopyright);
  [propget, id(8), helpstring("Tag")] HRESULT Tag
    ([out, retval] BSTR* pbstrTag);
  [propget, id(9), helpstring("Id")] HRESULT Id
    ([out, retval] BSTR* pbstrId);
  [propget, id(10), helpstring("Name")] HRESULT Name
    ([out, retval] BSTR* pbstrName);
  [propget, id(11), helpstring("Description")] HRESULT Description
    ([out, retval] BSTR* pbstrDescription);
  [propget, id(12), helpstring("LoggingMode")] HRESULT LoggingMode
    ([out, retval] CLoggingMode* pLoggingMode);
  [propget, id(13), helpstring("LoggingModeString")] HRESULT LoggingModeString
    ([out, retval] BSTR* pbstrLoggingMode);
  [propget, id(14), helpstring("DetailLevel")] HRESULT DetailLevel
    ([out, retval] CDetailLevel* pDetailLevel);
  [propget, id(15), helpstring("DetailLevelString")] HRESULT DetailLevelString
    ([out, retval] BSTR* pbstrDetailLevel);
  [propget, id(16), helpstring("IsStrict")] HRESULT IsStrict
    ([out, retval] VARIANT_BOOL* pfStrict);
  [propget, id(17), helpstring("IsDefault")] HRESULT IsDefault
    ([out, retval] VARIANT_BOOL* pfDefault);
  [propget, id(18), helpstring("ProblemCategories")] HRESULT ProblemCategories
    ([out, retval] BSTR* pbstrProblemCategories);
  [id(19), helpstring("LoadFromFile")] HRESULT LoadFromFile
    ([in] BSTR bstrProfileName,
    [in] BSTR bstrFileName);
  [id(20), helpstring("LoadFromString")] HRESULT LoadFromString
    ([in] BSTR bstrProfile);
  [id(21), helpstring("IsEqual")] HRESULT IsEqual
    ([in] IProfile* pProfile);};

函数

下表描述了该接口提供的功能。

函数 说明

propget

返回指定的属性的值。

propput

设置指定的属性。

LoadFromFile

从指定的文件加载配置文件。

LoadFromString

从指定的 XML 配置文件定义字符串加载配置文件。

IsEqual

比较两个 IProfile 对象。

属性

此接口提供下表中所述的属性。

属性 参数 说明

IsMutable

pfMutable

[out] 返回一个布尔值,该值指示当相同名称的配置文件与 IProfileCollection::Add 方法结合使用时,可以将会话和提供程序添加到现有配置文件。 S_OK 指示成功。

IsMutable

fMutable

[in] 一个布尔值,指示是否可以将会话和提供程序添加到配置文件。 S_OK 指示成功。

版本

pVersion

[out] 指示配置文件的版本。

作者

pbstrAuthor

[out] 指示配置文件的作者。

团队

pbstrTeam

[out] 指示创建配置文件的团队。

注释

pbstrComments

[out] 有关配置文件的可选注释。

Company

pbstrCompany

[out] 指示创建配置文件的公司。

版权

pbstrCopyright

[out] 指示与配置文件相关的版权信息。

标记

pbstrTag

[out] 可用于区分配置文件的可选标记值。

Id

pbstrId

[out] 指示配置文件的标识符。

名称

pbstrName

[out] 指示配置文件的名称。

说明

pbstrDescription

[out] 指示配置文件的说明。

LoggingMode

pLoggingMode

[out] 指示日志记录模式。

LoggingModeString

pbstrLoggingMode

[out] 指示日志记录模式字符串。 可能的值为“memory”和“file”。

DetailLevel

pDetailLevel

[out] 指示详细信息级别。

DetailLevelString

pbstrDetailLevel

[out] 指示详细信息级别字符串。 可能的值为“verbose”和“light”。

IsStrict

pfStrict

[out] 一个布尔值,指示在任何收集器或提供程序无法启动时记录是否回滚。

IsDefault

pfDefault

[out] 一个布尔值,指示此配置文件是否是默认配置文件。

ProblemCategories

pbstrProblemCategories

[out] 指示此配置文件旨在检测的问题。

接口