3.1.4.22.7 GetMetadata (Opnum 9)

The GetMetadata method is received by the server in an RPC_REQUEST packet. In response, the server returns the named metadata for the specified property.

 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

"encryptionProvider"

A string that represents server-specific data that defines how the property will be encrypted or decrypted on the server.

string

"isPropertyEncrypted"

A Boolean that determines if the property is encrypted.

bool

"isDefaultValue"

A Boolean that represents whether the specified property was explicitly set in the administration system or is a system default.

bool

"isInheritedFromDefault"

A Boolean that represents whether the specified property was explicitly set in the administration system or is a globally defined default.

bool

"isLocked"

A Boolean that represents whether this property can be set at deeper hierarchy paths.

bool

pValue: Contains the VARIANT value of the metadata property that is specified and the type depends on the property that is fetched.

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.