IRepositoryObjectVersion::CreateVersion
This method creates a new version of an object as a successor to the current object version.
HRESULT CreateVersion(
VARIANT sVersionID
IRepositoryObjectVersion **ppCreatedVersion
);
Parameters
sVersionID
[in]
The object-version identifier to be assigned to the new object version. If you want the repository engine to assign an object-version identifier, use a value of EXTVERSIONID_NULL.
**ppCreatedVersion
[out]
The IRepositoryObjectVersion interface pointer for the newly created object version.
Return Value
S_OK
The method completed successfully.
This method failed to complete successfully.
Remarks
The current object version must be frozen.
The repository engine creates the new version as unfrozen. Its property values are identical to the current object version's property values.
For each of the predecessor version's origin relationship collections, the repository engine takes this action:
- If the corresponding relationship type has the COLLECTION_NEWORGVERSIONSPARTICIPATE flag set, the repository engine copies the collection to the newly created version.
- If the corresponding relationship type does not have the COLLECTION_NEWORGVERSIONSPARTICIPATE flag set, the repository engine does not copy the collection to the new version.
You cannot invoke this method while operating in a workspace.