3.1.2.4 Clone (Opnum 6)

The Clone method is used to create a copy of the collection object that contains an identical copy of the data and state as the original collection.

 HRESULT Clone(
   [in, out] IVssEnumObject** ppenum
 );

ppenum: A pointer to an IVssEnumObject pointer that upon completion contains a pointer to an instance of IVssEnumObject, which contains a copy of the data and state of the original collection. A caller MUST release the ppenum received when the caller is done with it.

Return Values: The method MUST return zero when it has succeeded or an implementation-specific, nonzero error code on failure.

No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

Upon receiving this message, the server MUST verify that ppenum is not NULL.

The server MUST create a new IVssEnumObject instance that contains a copy of the object collection. The internal cursor of the collection copy MUST point to the same object as the cursor in the original collection.