2.2.1 HRESULT Return Codes

An HRESULT return code defined in [MS-ERREF] MUST be returned by the server to indicate additional information about the result of a method call or the reason that a call failed. If the result is an error rather than simple status information, the most significant bit of the HRESULT is set, as specified by [MS-ERREF]. The following list contains HRESULTs specified in [MS-ERREF], and the methods from which the HRESULTs can be returned, that correspond to error conditions specific to the operation of the PLA Protocol.

Note that the preceding HRESULTs are necessarily returned from the specified PLA Protocol methods; other HRESULTs defined in [MS-ERREF] can be returned from the method in place of those listed in the preceding table.

Return value/code

Description

0x80300002

PLA_E_DCS_NOT_FOUND

The data collector set was not found.

This HRESULT can be returned from the following methods:

IDataCollectorSet::Commit: Name does not refer to an existing data collector set, and mode is set to plaModify.

IDataCollectorSet::Query: Name does not refer to an existing data collector set.

IDataCollector::DataCollectorSet(Get): Data collector was never added to a data collector set.

IDataCollectorSet::LatestOutputLocation: Data collector was never added to a data collector set or it was removed from a data collector set.

IDataCollectorSet::Delete: IDataCollectorSet::Commit was not called on the data collector set.

0x803000AA

PLA_E_DCS_IN_USE

The data collector set or one of its dependencies is already in use.

This HRESULT can be returned from the following method:

IDataCollectorSet::Start: Data collector set is already started.

0x803000B7

PLA_E_DCS_ALREADY_EXISTS

The data collector set already exists.

This HRESULT can be returned from the following method:

IDataCollectorSet::Commit: The data collector set already exists, and mode is set to CreateNew.

0x00300100

PLA_S_PROPERTY_IGNORED

The property value will be ignored.

0x80300101

PLA_E_PROPERTY_CONFLICT

Property value conflict. See section 2.2.2.11 for more information.

0x80300105

PLA_E_CONFLICT_INCL_EXCL_API

A conflict was detected in the list of include/exclude APIs. Do not specify the same API in both the include and exclude lists.

This HRESULT can be returned from the following method:

IDataCollectorSet::Commit: Elements in the IncludeApis and ExcludeApis arrays overlap.

0x80300106

PLA_E_NETWORK_EXE_NOT_VALID

The specified executable path refers to a network share or UncPath.

This HRESULT can be returned from the following method:

IDataCollectorSet::Start: IApiTracingDataCollector::ExePath refers to a nonlocal location.

0x80300107

PLA_E_EXE_ALREADY_CONFIGURED

The specified executable path is already configured for API tracing.

This HRESULT can be returned from the following method:

IDataCollectorSet::Start: IApiTracingDataCollector::ExePath refers to an executable that is already being traced.

0x80300108

PLA_E_EXE_PATH_NOT_VALID

The specified executable path does not exist. Verify that the specified path is correct.

This HRESULT can be returned from the following method:

IDataCollectorSet::Start: IApiTracingDataCollector::ExePath does not point to a file.

0x80300109

PLA_E_DC_ALREADY_EXISTS

The data collector already exists.

This HRESULT can be returned from the following method:

IDataCollectorCollection::Add: Data collector collection already contains a data collector with the same name.

0x8030010A

PLA_E_DCS_START_WAIT_TIMEOUT

The wait for the data collector set start notification has timed out.

This HRESULT can be returned from the following method:

IDataCollectorSet::Start: Synchronous start was requested but the request timed out.

0x8030010D

PLA_E_NO_DUPLICATES

Duplicate items are not allowed.

This HRESULT can be returned from the following methods:

IConfigurationDataCollector::RegistryKeys(Put): Duplicate registry keys are specified in the RegistryKeys property.

IPerformanceCounterDataCollector::PerformanceCounters(Put): Duplicate performance counters are specified in the PerformanceCounters property.

ITraceDataProviderCollection::Add: Duplicate providers are specified in the collection.

IDataCollector::Xml(Get): Duplicate providers are specified in the collection.

IDataCollector::SetXml: Duplicate providers are specified in the collection.

0x8030010E

PLA_E_EXE_FULL_PATH_REQUIRED

When specifying the executable file that needs to be traced, the caller MUST specify a full path to the executable file and not just a file name.

This HRESULT can be returned from the following method:

IApiTracingDataCollector: IApiTracingDataCollector::ExePath: was not an absolute path.