3.2.4.2.45.12 EnumPropertyDefinitions (Opnum 18)
The EnumPropertyDefinitions method returns all the property definitions from the List of Persisted Property Definitions (section 3.2.1.6) on the server.
-
[id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x01)] HRESULT EnumPropertyDefinitions( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCollection** propertyDefinitions );
options: Contains the FsrmEnumOptions (section 2.2.1.2.5) to use when enumerating the property definitions.
propertyDefinitions: Pointer to an IFsrmCollection interface pointer (section 3.2.4.2.1) that upon completion contains a pointer to every property definition on the server. The caller MUST release the collection when the caller is done with it.
Return Values: The method MUST return zero on success, or a nonzero error code on failure.
-
Return value/code
Description
0x80045311
FSRM_E_NOT_SUPPORTED
The options parameter is not a valid FsrmEnumOptions (section 2.2.1.2.5) value.
0x80070057
E_INVALIDARG
The propertyDefinitions parameter is NULL.
Upon receiving this message, the server MUST validate parameters:
If propertyDefinitions is NULL, the server MUST return E_INVALIDARG.
If options contains FsrmEnumOptions_Asynchronous or any value other than what is specified in section 2.2.1.2.5, the server MUST return FSRM_E_NOT_SUPPORTED.
Upon successful validation of parameters, the server MUST perform the following actions:
Create a new List of Non-Persisted Property Definition Instances (section 3.2.1.6).
Populate it with Non-Persisted Property Definition Instances (section 3.2.1.6.1.2) copied from the Persisted Property Definitions (section 3.2.1.6.1.1) in the List of Persisted Property Definitions.
If options did not include FsrmEnumOptions_IncludeDeprecatedObjects, remove all Non-Persisted Property Definition Instances that have Property Definition.Deprecated set to true.
Populate propertyDefinitions with objects that MUST implement the IFsrmPropertyDefiniton interface pointer (section 3.2.4.2.37) and SHOULD<67> implement the IFsrmPropertyDefinition2 (section 3.2.4.2.38) interface of every Non-Persisted Property Definition Instance in this List of Non-Persisted Property Definition Instances.