3.2.4.2.20.6 CommitAndUpdateDerived (Opnum 25)

The CommitAndUpdateDerived method commits the quota template and applies the template's changes to the quota objects derived from this template.

 [id(FSRM_DISPID_QUOTA_TEMPLATE | 0x02)] HRESULT CommitAndUpdateDerived(
   [in] FsrmCommitOptions commitOptions,
   [in] FsrmTemplateApplyOptions applyOptions,
   [out, retval] IFsrmDerivedObjectsResult** derivedObjectsResult
 );

commitOptions: Contains the commit options to use when committing the collection of derived objects.

applyOptions: Contains the apply options to use when building the collection of derived objects.

derivedObjectsResult: Pointer to an IFsrmDerivedObjectsResult interface pointer (section 3.2.4.2.13) that upon completion, points to a derived objects result interface for the derived objects that have been updated by this method. A caller MUST release the collection received when the caller is done with the collection.

Return Values: The method MUST return zero on success, or a nonzero error code on failure.

Return value/code

Description

0x80045311

E_FSRM_E_NOT_SUPPORTED

The commitOptions parameter contains invalid FsrmCommitOptions (section 2.2.1.2.6) values.

0x80070057

E_INVALIDARG

The derivedObjectsResult parameter is NULL.

Upon receiving this message, the server MUST validate parameters:

  • If CommitOptions contains FsrmCommitOptions_Asynchronous or any value other than what is specified in section 2.2.1.2.6, the server MUST return FSRM_E_NOT_SUPPORTED.

  • If derivedObjectsResult is NULL, the server MUST return E_INVALIDARG.

The server MUST commit the quota template and apply the template's new properties to the collection of derived objects based on applyOptions or return a nonzero error code.

If applyOptions equals FsrmTemplateApplyOptions_ApplyToDerivedAll, the server MUST update derivedObjectsResult with all quota objects that were derived from this template.

If applyOptions equals FsrmTemplateApplyOptions_ApplyToDerivedMatching, the server MUST update derivedObjectsResult with only those quota objects that were derived from this template and whose properties still match this template.