IRepositoryObjectVersion::FreezeVersion
This method allows further modification of the property values or origin collections of the current object version. You cannot use this method for annotational properties.
HRESULT FreezeVersion(void);
Return Value
S_OK
The method completed successfully.
This method failed to complete successfully.
Remarks
After you freeze an object version, you cannot change its nonannotational property values. However, you can change the value of any of its annotational properties.
After you freeze an object, you cannot enlarge or shrink any of its origin collections. You cannot pin, unpin, rename, or resequence any of the items in any of its origin collections. Furthermore, you cannot change any of the individual versioned relationships in any of the origin collections. That is, you cannot enlarge an item's set of target object versions; pin a target object version, and you cannot unpin the pinned target object version.
If you call this method for an item currently checked out to any workspace (including the workspace in which you are working), it returns an error.
If the to-be-frozen object version includes any nonnull origin collection whose corresponding collection type has the COLLECTION_REQUIRESFREEZE flag set, and that nonnull collection includes an item whose TargetVersions collection contains a nonfrozen object version, the method fails.