STDMETHODIMP CEnumFormatEtc::Clone(LPENUMFORMATETC *aResult) { // Must return a new IEnumFORMATETC interface with the same iterative state. if (!aResult) return E_INVALIDARG; CEnumFormatEtc * pEnumObj = new CEnumFormatEtc(mFormatList); if (!pEnumObj) return E_OUTOFMEMORY; pEnumObj->AddRef(); pEnumObj->SetIndex(mCurrentIdx); *aResult = pEnumObj; return S_OK; }