void GenericDocument::elementDone(IDOMElement* element) { BSTR btagName; element->get_tagName(&btagName); _bstr_t tagName = _bstr_t(btagName); if (!wcsicmp(tagName, L"style")) { CComQIPtr<IDOMNode> child; element->get_firstChild(&child); CComQIPtr<IDOMText> text = child; if (text) { BSTR btextdata; text->get_data(&btextdata); _bstr_t textdata = _bstr_t(btextdata, false); CComQIPtr<IDOMCSSStyleSheet> stylesheet; stylesheet.CoCreateInstance(CLSID_DOMCSSStyleSheet); CComQIPtr<IDocumentStyle> documentStyle = GetControllingUnknown(); if (documentStyle) { CComQIPtr<IStyleSheetList> stylesheetList; documentStyle->get_styleSheets(&stylesheetList); stylesheetList->append(stylesheet); CComQIPtr<IHTMLStyleSheet> htmlstylesheet = stylesheet; htmlstylesheet->set_cssText(textdata); // The stylesheet will parse the text } } } }
HRESULT CSimplePointWorkspaceFactory::FinalConstruct() { // CoCreate the PlugInWorkspaceFactory that is aggregated into our WorkspaceFactory implementation IUnknown* pOuter = GetControllingUnknown(); if (FAILED (CoCreateInstance(__uuidof(PlugInWorkspaceFactory), pOuter, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**) &m_pInnerUnk))) return E_FAIL; return S_OK; }
STDMETHODIMP COuter::GetName(short n, BSTR* pbstrName) { switch(n) { case 0: *pbstrName = ::SysAllocString(L"IOuter"); return S_OK; case 1: { CComQIPtr<ITearOff1, &__uuidof(ITearOff1)> pITearOff1(GetControllingUnknown()); if (pITearOff1 != NULL) return pITearOff1->get_Name(pbstrName); break; } case 2: { CComQIPtr<ITearOff2, &__uuidof(ITearOff2)> pITearOff2(GetControllingUnknown()); if (pITearOff2 != NULL) return pITearOff2->get_Name(pbstrName); break; } case 3: { CComQIPtr<IChain, &__uuidof(IChain)> pIChain(GetControllingUnknown()); if (pIChain != NULL) return pIChain->get_Name2(pbstrName); break; } case 4: { CComQIPtr<IAgg, &__uuidof(IAgg)> pIAgg(GetControllingUnknown()); if (pIAgg != NULL) return pIAgg->get_Name(pbstrName); break; } case 5: { CComQIPtr<IAutoAgg, &__uuidof(IAutoAgg)> pIAutoAgg(GetControllingUnknown()); if (pIAutoAgg != NULL) return pIAutoAgg->get_Name(pbstrName); break; } case 6: { CComQIPtr<IAggBlind, &__uuidof(IAggBlind)> pIAggBlind(GetControllingUnknown()); if (pIAggBlind != NULL) return pIAggBlind->get_Name(pbstrName); break; } case 7: { CComQIPtr<IAutoAggB, &__uuidof(IAutoAggB)> pIAutoAggB(GetControllingUnknown()); if (pIAutoAggB != NULL) return pIAutoAggB->get_Name(pbstrName); break; } } return Error(_T("Interface type out of range")); }
HRESULT CIEHtmlElement::SetDOMNode(nsIDOMNode *pDomNode) { mDOMNode = pDomNode; // Forward to aggregated object: CIEHtmlDomNode *pHtmlDomNode; GetHtmlDomNode(&pHtmlDomNode); HRESULT hr = pHtmlDomNode->SetDOMNode(pDomNode); // Release on outer unknown because GetHtmlDomNode does AddRef on it: GetControllingUnknown()->Release(); return hr; }
HRESULT CIEHtmlElement::SetParent(CNode *pParent) { CNode::SetParent(pParent); // Forward to aggregated object: CIEHtmlDomNode *pHtmlDomNode; GetHtmlDomNode(&pHtmlDomNode); HRESULT hr = pHtmlDomNode->SetParent(pParent); // Release on outer unknown because GetHtmlDomNode does AddRef on it: GetControllingUnknown()->Release(); return hr; }
HRESULT CRScriptCore::FinalConstruct() { s_crit.Lock(); m_lCookie = ++s_lCookie; // for WIN95 - InterlockedIncrement(&s_lCookie); if (m_lCookie >= FIXNUM_MAX) { m_lCookie = s_lCookie = 0; } s_listEngine.push_front(this); s_crit.Unlock(); return CoCreateFreeThreadedMarshaler( GetControllingUnknown(), &m_pUnkMarshaler.p); }
HRESULT CPlayer::FinalConstruct() { CLSID clsid; ::CLSIDFromProgID(L"SysStatsCOM.WeakTarget", &clsid); HRESULT res = ::CoCreateInstance(clsid, GetControllingUnknown(), CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pWeakTarget); ::CLSIDFromProgID(L"SysStatsCOM.MetaData", &clsid); res = ::CoCreateInstance(clsid, GetControllingUnknown(), CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pMetaData); char buf[MAX_PATH]; _snprintf(buf, sizeof(buf), "#%d", IDR_XML_PLAYER); IMetaData *pMD = 0; pMetaData->QueryInterface(_uuidof(IMetaData), (void**)&pMD); if (pMD) { pMD->PutResourceInfo((long)_Module.GetModuleInstance(), _bstr_t(buf)); pMD->Release(); } return res; }
HRESULT COuter::FinalConstruct() { IUnknown* pUnkOuter = GetControllingUnknown(); HRESULT hRes = CoCreateInstance(__uuidof(CAgg), pUnkOuter, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&m_pUnkAgg); if (hRes != S_OK) return hRes; hRes = CoCreateInstance(__uuidof(CAggBlind), pUnkOuter, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&m_pUnkAggBlind); if (hRes != S_OK) return hRes; return S_OK; }
HRESULT CEnumConnectionPoints::GetInterface(REFIID riid, IUnknown** ppUnknown) { LOGCALL (("CEnumConnectionPoints::GetInterface(%s)\n", STRINGFROMGUID (riid))); IUnknown* pUnknown = NULL; if (riid == IID_IEnumConnectionPoints) pUnknown = static_cast<IEnumConnectionPoints*>(this); else if (riid == IID_IMarshal) { CriticalSection critical_section(this); if (m_pUnkFTM == NULL) CoCreateFreeThreadedMarshaler(GetControllingUnknown(), &m_pUnkFTM); if (m_pUnkFTM != NULL) return m_pUnkFTM->QueryInterface(riid, (void**) ppUnknown); } if (pUnknown == NULL) return E_NOINTERFACE; *ppUnknown = pUnknown; return S_OK; }
HRESULT CTRiASOptionDlg::FinalConstruct() { AFX_MANAGE_STATE(AfxGetStaticModuleState()) // Caption initialisieren CComBSTR bstrCaption; VERIFY(bstrCaption.LoadString (_Module.GetResourceInstance(), IDS_STDDIALOGCAPTION)); // Dialog anlegen, initialisieren und anzeigen CStdCtrlDlg *pDlg = NULL; ATLTRY(pDlg = new CStdCtrlDlg); if (NULL == pDlg) return E_OUTOFMEMORY; pDlg -> SetCallback (this); pDlg->EnableAutomation(); pDlg->EnableAggregation(); pDlg->m_pOuterUnknown = static_cast<LPUNKNOWN>(GetControllingUnknown()); //LPDISPATCH _pDispatch = pDlg->GetIDispatch(FALSE); m_pUnkPpg = reinterpret_cast<LPUNKNOWN>(&(pDlg->m_xInnerUnknown)); if (NULL == m_pUnkPpg) { delete pDlg; return E_UNEXPECTED; } // Fenster erzeugen (ist !Visible) // if (!pDlg -> Create()) { // delete pDlg; // return E_UNEXPECTED; // } m_pDlg = pDlg; return S_OK; }
HRESULT CGetDataSequentialStream::GetInterface(REFIID riid, IUnknown** ppUnknown) { LOGCALL (("CGetDataSequentialStream::GetInterface(%s)\n", STRINGFROMGUID (riid))); IUnknown* pUnknown = NULL; if (riid == IID_ISequentialStream) pUnknown = static_cast<ISequentialStream*>(this); else if (riid == IID_ISupportErrorInfo) pUnknown = static_cast<ISupportErrorInfo*>(this); else if (riid == IID_IMarshal) { CriticalSection critical_section(m_pStreamSync); if (m_pUnkFTM == NULL) CoCreateFreeThreadedMarshaler(GetControllingUnknown(), &m_pUnkFTM); if (m_pUnkFTM != NULL) return m_pUnkFTM->QueryInterface(riid, (void**) ppUnknown); } if (pUnknown == NULL) return E_NOINTERFACE; *ppUnknown = pUnknown; return S_OK; }
HRESULT CMemoryMeter::FinalConstruct() { CLSID clsid; ::CLSIDFromProgID(L"SysStatsCOM.WeakTarget", &clsid); return ::CoCreateInstance(clsid, GetControllingUnknown(), CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pWeakTarget); }
HRESULT CPreviewPlugin::FinalConstruct() { return CoCreateFreeThreadedMarshaler( GetControllingUnknown(), &m_pUnkMarshaler.p ); }
STDMETHODIMP CContentBasedClassifier::OnLoad( IFsrmPipelineModuleDefinition * moduleDefinition, IFsrmPipelineModuleConnector * * moduleConnector ) { HRESULT hr = S_OK; CComPtr<IFsrmPipelineModuleConnector> pConnector; CComQIPtr<IFsrmPipelineModuleImplementation> pModuleImpl; try { if (moduleDefinition == NULL) { hr = E_INVALIDARG; goto exit; } (*moduleConnector) = NULL; m_spDefinition = moduleDefinition; // create the FsrmPipelineModuleConnector object reference hr = ::CoCreateInstance( __uuidof(FsrmPipelineModuleConnector), NULL, CLSCTX_ALL, __uuidof(IFsrmPipelineModuleConnector), (void **)&pConnector); if (hr != S_OK) { goto exit; } pModuleImpl = GetControllingUnknown( ); if (pModuleImpl == NULL) { hr = E_NOINTERFACE; goto exit; } //bind the connector to this instance hr = pConnector->Bind( moduleDefinition, pModuleImpl ); (*moduleConnector) = pConnector.Detach( ); hr = ::CoCreateInstance( __uuidof(TextTokenizer), NULL, CLSCTX_ALL, __uuidof(ITextTokenizer), (void **)&m_pTextTokenizer); if (FAILED(hr)) { goto exit; } } catch( _com_error& err ) { hr = err.Error( ); } catch( const std::bad_alloc& ) { hr = E_OUTOFMEMORY; } catch( const std::exception& ) { hr = E_UNEXPECTED; } exit: return hr; }
HRESULT CColorPicker::FinalConstruct() { return CoCreateFreeThreadedMarshaler(GetControllingUnknown(), &m_pUnkMarshaler.p); }
HRESULT CIEHtmlElement::FinalConstruct( ) { return CComCreator<CComAggObject<CIEHtmlDomNode> >::CreateInstance(GetControllingUnknown(), IID_IUnknown, reinterpret_cast<void**>(&m_pNodeAgg)); }
HRESULT CSWFBuilder::FinalConstruct() throw() { return CoCreateFreeThreadedMarshaler( GetControllingUnknown(), &m_pUnkMarshaler.p ); }