3.2.4.2.25.3 EnumFileGroups (Opnum 9)
The EnumFileGroups method returns all the file groups from the List of Persisted File Groups (section 3.2.1.3) of the server.
-
[id(FSRM_DISPID_FILEGROUP_MANAGER | 0x03)] HRESULT EnumFileGroups( [in, defaultvalue(FsrmEnumOptions_None)] FsrmEnumOptions options, [out, retval] IFsrmCommittableCollection** fileGroups );
options: Contains the FsrmEnumOptions (section 2.2.1.2.5) to use when enumerating the filegroups.
fileGroups: Pointer to an IFsrmCommittableCollection interface pointer (section 3.2.4.2.3) that upon completion SHOULD contain a pointer to every file group on the server. The caller MUST release the collection when it 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
This options parameter contains invalid FsrmEnumOptions values.
0x80070057
E_INVALIDARG
The fileGroups parameter is NULL.
Upon receiving this message, the server MUST validate parameters:
If fileGroups 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 List of Non-Persisted File Group Instance (section 3.2.1.3).
Populate the newly created instance list with Non-Persisted File Group Instances (section 3.2.1.3.4.2) copied from the Persisted File Groups (section 3.2.1.3.4.1) in the List of Persisted File Groups (section 3.2.1.3).
Populate fileGroups with the IFsrmFileGroup interface pointer (section 3.2.4.2.23) of every Non-Persisted File Group Instance in this List of Non-Persisted File Group Instance.