/// <summary> /// Clone the current enumerator by returning another enumerator with its /// position the same as the current one /// </summary> /// <returns></returns> public void Clone(out IEnumFORMATETC ppenum) { EnumFORMATETC clone = new EnumFORMATETC(oleDataEntries); clone.currentItem = currentItem; ppenum = clone; }
/// <summary> /// Creates and returns a pointer to an object to enumerate the FORMATETC /// supported by the data object /// </summary> /// <param name="dwDirection">Direction of the data through a value from /// the enumeration DATADIR</param> /// <param name="ppEnumFormatEtc">Address of IEnumFORMATETC* pointer variable /// that receives the interface pointer to the new enumerator object</param> public int EnumFormatEtc(DATADIR dwDirection, out IEnumFORMATETC ppEnumFormatEtc) { // don't support enumeration of set formats if (dwDirection == DATADIR.SET) { ppEnumFormatEtc = null; return(HRESULT.E_NOTIMPL); } // return a new enumerator for our data entries IEnumFORMATETC enumerator = new EnumFORMATETC(oleDataEntries); enumerators.Add(enumerator); ppEnumFormatEtc = enumerator; return(HRESULT.S_OK); }
/// <summary> /// Creates and returns a pointer to an object to enumerate the FORMATETC /// supported by the data object /// </summary> /// <param name="dwDirection">Direction of the data through a value from /// the enumeration DATADIR</param> /// <param name="ppEnumFormatEtc">Address of IEnumFORMATETC* pointer variable /// that receives the interface pointer to the new enumerator object</param> public int EnumFormatEtc(DATADIR dwDirection, out IEnumFORMATETC ppEnumFormatEtc) { // don't support enumeration of set formats if (dwDirection == DATADIR.SET) { ppEnumFormatEtc = null; return HRESULT.E_NOTIMPL; } // return a new enumerator for our data entries IEnumFORMATETC enumerator = new EnumFORMATETC(oleDataEntries); enumerators.Add(enumerator); ppEnumFormatEtc = enumerator; return HRESULT.S_OK; }