IProfile
Represents a profile that the client controls. The interface provides functions that loads a profile, in XML format, either from a file or from a string. The client can determine whether the user is allowed to update to the profile by adding or removing Event Tracing for Windows (ETW) providers.
Syntax
{
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);};
Functions
The following table describes the functions that this interface provides.
Function | Description |
---|---|
propget |
Returns the value of the specified property. |
propput |
Sets the specified property. |
Loads a profile from the specified file. |
|
Loads a profile from the specified XML profile definition string. |
|
Compares two IProfile objects. |
Properties
This interface provides the properties described in the following table.
Property | Parameters | Description |
---|---|---|
IsMutable |
pfMutable |
[out] Returns a Boolean value that indicates that sessions and providers can be added to an existing profile when profiles of the same name are combined with the IProfileCollection::Add method. S_OK indicates success. |
IsMutable |
fMutable |
[in] A Boolean value that indicates whether sessions and providers can be added to the profiles. S_OK indicates success. |
Version |
pVersion |
[out] Indicates the version of the profiles. |
Author |
pbstrAuthor |
[out] Indicates the author of the profiles. |
Team |
pbstrTeam |
[out] Indicates the team that created the profiles. |
Comments |
pbstrComments |
[out] Optional comments about the profiles. |
Company |
pbstrCompany |
[out] Indicates the company that created the profiles. |
Copyright |
pbstrCopyright |
[out] Indicates copyright information related to the profiles. |
Tag |
pbstrTag |
[out] Optional tagged value that can be used to differentiate between profiles. |
Id |
pbstrId |
[out] Indicates the identifier of the profile. |
Name |
pbstrName |
[out] Indicates the name of the profile. |
Description |
pbstrDescription |
[out] Indicates the description of the profile. |
LoggingMode |
pLoggingMode |
[out] Indicates the logging mode. |
LoggingModeString |
pbstrLoggingMode |
[out] Indicates the logging mode string. Possible values are "memory" and "file". |
DetailLevel |
pDetailLevel |
[out] Indicates the detail level. |
DetailLevelString |
pbstrDetailLevel |
[out] Indicates the detail level string. Possible values are "verbose" and "light". |
IsStrict |
pfStrict |
[out] A Boolean that indicates whether the recording rolls back if any collector or provider fails to start. |
IsDefault |
pfDefault |
[out] A Boolean that indicates whether this is a default profile. |
ProblemCategories |
pbstrProblemCategories |
[out] Indicates the issues that this profile is designed to detect. |