STDMETHODIMP CCodeLine::DoAction (IDataObject *pIDataObj, DWORD dwReserved) { m_iErrorCode = m_pCfgDlg->GetErrorCode(); // Eingabeobjekte einfach mit zu unserer Objektmenge hinzufügen COM_TRY { WEnumLONG EnumObjs; OutEnumLONG iter_out_if (&m_Objects); THROW_FAILED_HRESULT(PropActBase::GetEnumObjects (pIDataObj, __uuidof(IEnumLONG), EnumObjs.ppv())); copy (InEnumLONG(EnumObjs), InEnumLONG(), iter_out_if); } COM_CATCH; return S_OK; }
STDMETHODIMP CSelectExportObjects::DoAction (IDataObject *pIDataObj, DWORD dwReserved) { // Eingabeobjekte einfach mit zu unserer Objektmenge hinzufügen if (NULL != pIDataObj) { // evtl. keine Eingabeobjektmenge gegeben COM_TRY { // aber nur Objekte der geforderten Datenquellen übernehmen WEnumLONG EnumObjs; OutEnumLONG iter_out (&m_Objects); if (S_OK == GetEnumLONGData (pIDataObj, __uuidof(IEnumLONG), EnumObjs.ppv())) { remove_copy_if (InEnumLONG(EnumObjs), InEnumLONG(), iter_out, CObjectToCopy(m_setDataSources)); } } COM_CATCH; }