IRelationshipCol::Insert

See Also

This method adds a relationship to the collection at a specified point in the collection sequence. An interface pointer for the new relationship is passed back to the caller.

HRESULT Insert(
IDispatch *pIReposObj,
long iIndex,
BSTR Name,

IRelationship **ppIRelship
);

Parameters

*pIReposObj

[in]
The Repository object to be inserted into the collection sequence through the new relationship.

iIndex

[in]
The index of the sequence location where the relationship is to be inserted. If another relationship is already present at this sequence location, the new relationship is inserted before the existing relationship.

Name

[in]
The name to be associated with the object that is connected by the new relationship.

*ppIRelship

[out]
The IRelationship interface pointer for the new relationship.

Return Value

S_OK

The method completed successfully.

Error

Values

This method failed to complete successfully.

Remarks

Relationships may only be inserted into a collection when the collection's source object is also the collection's origin object.

This method can only be used for collections that are sequenced.

When you call this method, the origin version must be unfrozen.

You can use this method to insert a new versioned relationship between the source object version and a version of the target object. You cannot use it to enlarge a versioned relationship. If the source object version already has a relationship to any version of the target object, this method will fail. You can include another version of the target object in the versioned relationship by adding an item to the versioned relationship's TargetVersions collection.

The value of plReposObj is the specific version of the target object.

If you are operating within the context of a workspace, the target object version you specify with plReposObj must be present in the workspace.