This method of the IEnumUnknown interface creates another enumerator that contains the same enumeration state as the current one. Using this function, a client can record a particular point in the enumeration sequence, and then return to that point at a later time. The new enumerator supports the same interface as the original one.
public IEnumString Clone();
This method supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED.