示例#1
0
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;
}
示例#3
0
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"));
}
示例#4
0
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;
}
示例#5
0
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;
}
示例#6
0
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);
}
示例#7
0
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;
}
示例#8
0
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;
}
示例#9
0
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;
}
示例#10
0
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;
}
示例#11
0
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;
}
示例#12
0
HRESULT CMemoryMeter::FinalConstruct()
{
	CLSID clsid;
	::CLSIDFromProgID(L"SysStatsCOM.WeakTarget", &clsid);
	return ::CoCreateInstance(clsid, GetControllingUnknown(), CLSCTX_INPROC_SERVER, IID_IUnknown, (void**)&pWeakTarget);
}
示例#13
0
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;
}
示例#15
0
HRESULT CColorPicker::FinalConstruct()
{
	return CoCreateFreeThreadedMarshaler(GetControllingUnknown(), &m_pUnkMarshaler.p);
}
示例#16
0
HRESULT CIEHtmlElement::FinalConstruct( )
{
    return CComCreator<CComAggObject<CIEHtmlDomNode> >::CreateInstance(GetControllingUnknown(),
        IID_IUnknown, reinterpret_cast<void**>(&m_pNodeAgg));
}
示例#17
0
HRESULT CSWFBuilder::FinalConstruct() throw()
{
	return CoCreateFreeThreadedMarshaler( GetControllingUnknown(), &m_pUnkMarshaler.p );
}