HRESULT CTRiASDropTarget::InitFileExtensionList (REFGUID rGuid) { LPOLESTR poleStr = NULL; USES_CONVERSION; COM_TRY { // DBEngine instantiieren und nach EnumString fragen WTRiASDBEngine DBEng; WUnknown Unk; HRESULT hr = DBEng.CreateInstance(rGuid); if (FAILED(hr)) return hr; // ggf. nicht instantiierbar (z.B. lizensiert) THROW_FAILED_HRESULT(DBEng -> EnumDataBaseTypes (Unk.ppi())); // jetzt eigentliche Dataserver einfügen WEnumString EnumStr(Unk); for (EnumStr -> Reset(); S_OK == EnumStr -> Next (1, &poleStr, NULL); /**/) { CConnectParams Item; DWORD dwDummy = 0; HRESULT hr = TxGetExtension() -> ReadDataServerParams (dwDummy, &Item, OLE2A(poleStr)); CoTaskMemFree (poleStr); poleStr = NULL; // nur dateibasierte Datenquelle untersuchen if (!Item.m_fNameIsFile) continue; m_lstExts.insert(CExtensions::value_type(os_string(Item.m_strDefExt), Item)); } } COM_CATCH_OP(CoTaskMemFree (poleStr)); return S_OK; }
CString CGenericProcessingMachine::TargetName(const int FileIndex, const CString& SourceFileName) { return EnumStr("",FileIndex,".out",m_FileNameLength); }