3.2.4.2.45.18 EnumModuleDefinitions (Opnum 24)

The EnumModuleDefinitions method returns all the moduleDefinitions from the List of Persisted Module Definitions (section 3.2.1.6) on the server that have the specified moduleType.

 [id(FSRM_DISPID_CLASSIFICATION_MANAGER | 0x07)] HRESULT EnumModuleDefinitions(
   [in] FsrmPipelineModuleType moduleType,
   [in, defaultvalue(FsrmEnumOptions_None)] 
     FsrmEnumOptions options,
   [out, retval] IFsrmCollection** moduleDefinitions
 );

moduleType: Contains the FsrmPipelineModuleType (section 2.2.1.2.12) of the modules to get.

options: Contains the FsrmEnumOptions (section 2.2.1.2.5) to use when enumerating the moduleDefinitions.

moduleDefinitions: Pointer to an IFsrmCollection interface pointer (section 3.2.4.2.1) that upon completion contains pointers to every module definition on the server that has the specified moduleType. A caller MUST release the collection received 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 does not contain a valid FsrmEnumOptions (section 2.2.1.2.5) value.

0x80070057

E_INVALIDARG

This code is returned for the following reasons:

  • The moduleType parameter is not a valid value. If the moduleType is FsrmPipelineModuleType_Unknown, the parameter MUST be considered an invalid value.

  • The moduleDefinitions parameter is NULL.

Upon receiving this message, the server MUST validate parameters:

  • If moduleDefinitions is NULL, server MUST return E_INVALIDARG.

  • If moduleType is FsrmPipelineModuleType_Unknown or any value other than what is specified in section 2.2.1.2.12, 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: