3.1.4.12.5 GetMetadata (Opnum 7)

The GetMetadata method is received by the server in an RPC_REQUEST packet. In response, the server returns the specific piece of named metadata.

 HRESULT GetMetaData(
   [in] BSTR bstrMetadataType,
   [out, retval] VARIANT* pValue
 );

bstrMetadataType: The name of the metadata property to fetch. Valid names are as follows.

Value

Meaning

"overrideMode"

A string that represents the explicit override mode of the specified IAppHostElement object. Override mode defines the locking behavior of an IAppHostElement object as it relates to other IAppHostElement objects at deeper hierarchy paths. The administration system can implement override rules, the selection of which is reflected by this metadata.

string

"effectiveOverrideMod"

A string that represents the effective override mode of the specified IAppHostElement object. Override mode defines the locking behavior of an IAppHostElement object as it relates to other IAppHostElement objects at deeper hierarchy paths. The administration system can implement override rules, the selection of which is reflected by this metadata.

string

"allowCommit"

A Boolean that represents whether the administration system supports changing or editing of the specified IAppHostElement object.

bool

"deepestPathSet"

A string that represents the deepest hierarchy path from which the specified IAppHostElement object was derived. This is only meaningful if this IAppHostElement object is a merged object from multiple sources. This metadata is the path of the deepest source that was merged.

string

"deepestFileNameSet"

A string that represents an operating system file path (if applicable) that corresponds to the deepest hierarchy path metadata "deepestPathSet".

string

"deepestFileLineNumberSet"

An integer that represents a location within the corresponding metadata "deepestFileNameSet".

uint32

"configSource"

A string that represents an optional redirection path from which the specified IAppHostElement object was retrieved. The path is specific to the administration system and is only applicable if the administration system supports alternate redirection paths.

string

"childSource"

A string that represents an optional redirection path from which the specified IAppHostElement object was retrieved. The path is specific to the administration system and only applicable if the administration system supports alternate redirection paths. The difference between "configSource" and "childSource" is an implementation detail of the redirection support of the administration system.

string

"lockItem"

A Boolean that represents whether the specified IAppHostElement object can be set at deeper hierarchy paths. If true, the item cannot be set deeper.

bool

"lockAllElementsExcept"

A string that represents a comma-delimited list of child element names that are allowed to be set at deeper hierarchy paths. All other unlisted child elements are not allowed to be set at deeper paths.

string

"lockElements"

A string that represents a comma-delimited list of child element names that are not allowed to be set at deeper hierarchy paths.

string

"lockAllAttributesExcept"

A string that represents a comma-delimited list of property names that are allowed to be set at deeper hierarchy paths. All other unlisted properties are not allowed to be set at deeper paths.

string

"lockAttributes"

A string that represents a comma-delimited list of property names that are not allowed to be set at deeper hierarchy paths.

string

If SetMetadata() is called with another name, that metadata is stored and can be retrieved with GetMetadata().

pValue: Contains a VARIANT that represents the metadata that is retrieved.

Return Values: The server MUST return zero if it successfully processes the message that is received from the client. If processing fails, the server MUST return a nonzero HRESULT code as defined in [MS-ERREF]. The following table describes the error conditions that MUST be handled and the corresponding error codes. A server MAY return additional implementation-specific error codes.

Return value/code

Description

0X00000000

NO_ERROR

The operation completed successfully.

0X80070057

ERROR_INVALID_PARAMETER

One or more parameters are incorrect or null.

0X80070032

ERROR_NOT_SUPPORTED

The metadata property specified by bstrMetadataType is not supported.

0X00000008

E_OUTOFMEMORY

Not enough memory is available to process this command.