23#include <so_activex.h>
30#define STAROFFICE_WINDOWCLASS L"SOParentWindow"
37 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
40 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
45 MessageBoxW( hw,
sMessage,
nullptr, MB_OK | MB_ICONINFORMATION );
46 HeapFree( GetProcessHeap(), 0,
sMessage );
50 OLECHAR
const * sFuncName,
53 CComVariant* pResult )
59 HRESULT
hr = idispUnoObject->GetIDsOfNames( IID_NULL,
const_cast<OLECHAR **
>(&sFuncName), 1, LOCALE_USER_DEFAULT, &
id);
60 if( !SUCCEEDED(
hr ) )
return hr;
62 DISPPARAMS dispparams= { params,
nullptr,
count, 0};
66 hr = idispUnoObject->Invoke(
id, IID_NULL,LOCALE_USER_DEFAULT, DISPATCH_METHOD,
67 &dispparams, pResult, &myInfo,
nullptr);
78 OLECHAR
const * sFuncName,
81 CComPtr<IDispatch>& pdispResult )
88 if( !SUCCEEDED(
hr ) )
return hr;
90 if(
result.vt != VT_DISPATCH ||
result.pdispVal ==
nullptr )
93 pdispResult = CComPtr<IDispatch>(
result.pdispVal );
99 OLECHAR
const ** sMemberNames,
100 CComVariant* pVariant,
103 for(
unsigned int ind = 0; ind <
count; ind++ )
106 HRESULT
hr = pdispObject->GetIDsOfNames( IID_NULL,
const_cast<OLECHAR **
>(&sMemberNames[ind]), 1, LOCALE_USER_DEFAULT, &
id );
107 if( !SUCCEEDED(
hr ) )
return hr;
109 hr = CComDispatchDriver::PutProperty( pdispObject,
id, &pVariant[ind] );
110 if( !SUCCEEDED(
hr ) )
return hr;
117 OLECHAR
const ** sMemberNames,
118 CComVariant* pVariant,
121 for(
unsigned int ind = 0; ind <
count; ind++ )
124 HRESULT
hr = pdispObject->GetIDsOfNames( IID_NULL,
const_cast<OLECHAR **
>(&sMemberNames[ind]), 1, LOCALE_USER_DEFAULT, &
id );
125 if( !SUCCEEDED(
hr ) )
return hr;
127 hr = CComDispatchDriver::GetProperty( pdispObject,
id, &pVariant[ind] );
128 if( !SUCCEEDED(
hr ) )
return hr;
138, mCurFileUrl( L
"private:factory/swriter" )
141, mParentWin( nullptr )
143, mpDispatchInterceptor( nullptr )
145, mbReadyForActivation(
FALSE )
146, mbDrawLocked( false )
148 CLSID
const clsFactory = {0x82154420,0x0FBF,0x11d4,{0x83, 0x13,0x00,0x50,0x04,0x52,0x6A,0xB4}};
149 HRESULT
hr = CoCreateInstance( clsFactory,
nullptr, CLSCTX_ALL, __uuidof(IDispatch),
reinterpret_cast<void**
>(&
mpDispFactory));
150 if( !SUCCEEDED(
hr ) )
157 mPWinClass.hInstance = GetModuleHandleW(
nullptr);
160 mPWinClass.hbrBackground =
reinterpret_cast<HBRUSH
>(COLOR_BACKGROUND);
175 CComVariant dummyResult;
183 CComVariant aVariant( pIDispDispInter );
185 L
"releaseDispatchProviderInterceptor",
207 bool bCloserActivated =
false;
209 CComPtr<IDispatch> pDispDocumentCloser;
210 CComVariant aDocCloser( L
"com.sun.star.embed.DocumentCloser" );
215 pDispDocumentCloser );
216 if ( SUCCEEDED(
hr ) && pDispDocumentCloser )
218 SAFEARRAY* pInitFrame = SafeArrayCreateVector(
VT_VARIANT, 0, 1);
221 SafeArrayPutElement( pInitFrame, &nInitInd, &pFrameVariant );
222 CComVariant aVarInitFrame;
224 hr =
ExecuteFunc( pDispDocumentCloser, L
"initialize", &aVarInitFrame, 1, &dummyResult );
225 if( SUCCEEDED(
hr ) )
228 hr =
ExecuteFunc( pDispDocumentCloser, L
"dispose",
nullptr, 0, &dummyResult );
229 bCloserActivated = SUCCEEDED(
hr );
233 if ( !bCloserActivated )
235 CComVariant aPropVar;
236 aPropVar.vt =
VT_BOOL; aPropVar.boolVal = VARIANT_TRUE;
255 CComPtr<IDispatch> pdispDesktop;
256 CComVariant aDesktopServiceName( L
"com.sun.star.frame.Desktop" );
259 if( !pdispDesktop || !SUCCEEDED(
hr ) )
return hr;
262 CComPtr<IDispatch> pdispChildren;
263 hr =
GetIDispByFunc( pdispDesktop, L
"getFrames",
nullptr, 0, pdispChildren );
264 if( !pdispChildren || !SUCCEEDED(
hr ) )
return hr;
267 CComVariant nFlag( 4 );
268 hr =
ExecuteFunc( pdispChildren, L
"queryFrames", &nFlag, 1, &aFrames );
269 if ( SUCCEEDED(
hr ) )
272 && ( !aFrames.parray || (aFrames.parray->cDims == 1 && aFrames.parray->rgsabound[0].cElements == 0) ) )
276 CComVariant dummyResult;
277 hr =
ExecuteFunc( pdispDesktop, L
"terminate",
nullptr, 0, &dummyResult );
306 IPropertyBag2* pPropBag2;
307 HRESULT
hr = pPropBag->QueryInterface( IID_IPropertyBag2,
reinterpret_cast<void**
>(&pPropBag2) );
310 if( !SUCCEEDED(
hr ) )
314 hr = pPropBag2->CountProperties( &aNum );
316 if( !SUCCEEDED(
hr ) )
320 unsigned long aReaded;
322 hr = pPropBag2->GetPropertyInfo( 0,
327 if( !SUCCEEDED(
hr ) )
333 CComVariant* aVal =
new CComVariant[aNum];
334 HRESULT* hvs =
new HRESULT[aNum];
335 hr = pPropBag2->Read( aNum,
341 if( !SUCCEEDED(
hr ) )
349 for(
unsigned long ind = 0; ind < aNum; ind++ )
356 else if( aVal[ind].vt ==
VT_BSTR
357 && !wcscmp(
aPropNames[ind].pstrName, L
"readonly"))
359 if (!wcscmp(aVal[ind].bstrVal, L
"true"))
379 hr = CBindStatusCallback<CSOActiveX>::Download(
381 if (
hr == MK_S_ASYNCHRONOUS)
384 if ( !SUCCEEDED(
hr ) )
398 CComVariant aComStruct( sStructName );
405 if( !SUCCEEDED(
hr ) )
return hr;
407 OLECHAR
const * sURLMemberName = L
"Complete";
409 hr = pdispUrl->GetIDsOfNames( IID_NULL,
const_cast<OLECHAR **
>(&sURLMemberName), 1, LOCALE_USER_DEFAULT, &nURLID );
410 if( !SUCCEEDED(
hr ) )
return hr;
411 CComVariant aComUrl( sUrl );
412 hr = CComDispatchDriver::PutProperty( pdispUrl, nURLID, &aComUrl );
413 if( !SUCCEEDED(
hr ) )
return hr;
415 CComPtr<IDispatch> pdispTransformer;
416 CComVariant aServiceName( L
"com.sun.star.util.URLTransformer" );
422 if( !SUCCEEDED(
hr ) )
return hr;
424 CComVariant dummyResult;
425 CComVariant aParam[2];
426 aParam[1].ppdispVal = &pdispUrl;
427 aParam[1].vt = VT_DISPATCH |
VT_BYREF;
428 aParam[0] = CComVariant( L
"file:///" );
430 hr =
ExecuteFunc( pdispTransformer, L
"parseSmart", aParam, 2, &dummyResult );
431 if( !SUCCEEDED(
hr ) || dummyResult.vt !=
VT_BOOL || !dummyResult.boolVal )
return hr;
441 CComVariant pVarLayoutMgr;
442 OLECHAR
const * sLMPropName = L
"LayoutManager";
444 if( pVarLayoutMgr.vt != VT_DISPATCH || pVarLayoutMgr.pdispVal ==
nullptr )
447 CComPtr<IDispatch> pdispLM( pVarLayoutMgr.pdispVal );
450 if( !SUCCEEDED(
hr ) || !pdispLM )
453 OLECHAR
const * sATName = L
"AutomaticToolbars";
455 pATProp.vt =
VT_BOOL; pATProp.boolVal = VARIANT_FALSE ;
467 CComPtr< CComObject< SOComWindowPeer > > pPeerToSend =
new CComObject<SOComWindowPeer>();
468 pPeerToSend->SetHWNDInternally( hwnd );
469 CComQIPtr< IDispatch, &IID_IDispatch > pIDispToSend( pPeerToSend );
472 CComPtr<IDispatch> pdispRectangle;
473 HRESULT
hr =
GetUnoStruct( L
"com.sun.star.awt.Rectangle", pdispRectangle );
474 if( !SUCCEEDED(
hr ) )
return hr;
476 OLECHAR
const * sRectMemberNames[4] = { L
"X",
480 CComVariant pRectVariant[4];
481 pRectVariant[0] = pRectVariant[1] = pRectVariant[2] = pRectVariant[3] = CComVariant( 0 );
484 if( !SUCCEEDED(
hr ) )
return hr;
487 CComPtr<IDispatch> pdispWinDescr;
488 hr =
GetUnoStruct( L
"com.sun.star.awt.WindowDescriptor", pdispWinDescr );
489 if( !SUCCEEDED(
hr ) )
return hr;
492 OLECHAR
const * sDescriptorMemberNames[6] = { L
"Type",
493 L
"WindowServiceName",
497 L
"WindowAttributes" };
498 CComVariant pDescriptorVar[6];
499 pDescriptorVar[0] = CComVariant( 0 );
500 pDescriptorVar[1] = CComVariant( L
"workwindow" );
501 pDescriptorVar[2] = CComVariant( 1 );
502 pDescriptorVar[3] = CComVariant( pIDispToSend );
503 pDescriptorVar[4] = CComVariant( pdispRectangle );
504 pDescriptorVar[5] = CComVariant( 33 );
506 if( !SUCCEEDED(
hr ) )
return hr;
509 CComPtr<IDispatch> pdispToolkit;
510 CComVariant aServiceName( L
"com.sun.star.awt.Toolkit" );
512 if( !SUCCEEDED(
hr ) )
return hr;
515 CComVariant aWinDescr( pdispWinDescr );
517 if( !SUCCEEDED(
hr ) )
return hr;
520 aServiceName = CComVariant( L
"com.sun.star.frame.Task" );
526 aServiceName = CComVariant( L
"com.sun.star.frame.Frame" );
528 if( !SUCCEEDED(
hr ) )
return hr;
532 CComVariant dummyResult;
535 if( !SUCCEEDED(
hr ) )
return hr;
541 CComPtr<IDispatch> pdispDesktop;
542 aServiceName = CComVariant( L
"com.sun.star.frame.Desktop" );
544 if( !SUCCEEDED(
hr ) )
return hr;
547 CComPtr<IDispatch> pdispChildren;
548 hr =
GetIDispByFunc( pdispDesktop, L
"getFrames",
nullptr, 0, pdispChildren );
549 if( !SUCCEEDED(
hr ) )
return hr;
553 hr =
ExecuteFunc( pdispChildren, L
"append", &aDispFrame, 1, &dummyResult );
554 if( !SUCCEEDED(
hr ) )
return hr;
557 CComVariant aTransparent(
long(0xFFFFFFFF) );
559 if( !SUCCEEDED(
hr ) )
return hr;
561 CComVariant aTrue(
TRUE );
563 if( !SUCCEEDED(
hr ) )
return hr;
565 CComVariant aPosArgs[5];
566 aPosArgs[4] = CComVariant( 0 );
567 aPosArgs[3] = CComVariant( 0 );
568 aPosArgs[2] = CComVariant( width );
569 aPosArgs[1] = CComVariant( height );
570 aPosArgs[0] = CComVariant( 12 );
572 if( !SUCCEEDED(
hr ) )
return hr;
575 aServiceName = CComVariant( L
"com.sun.star.embed.InstanceLocker" );
579 SAFEARRAY* pInitVals = SafeArrayCreateVector(
VT_VARIANT, 0, 3);
584 SafeArrayPutElement( pInitVals, &nInitInd, &pFrameVariant );
588 CComVariant pStrArr( 1 );
589 SafeArrayPutElement( pInitVals, &nInitInd, &pStrArr );
593 CComPtr<IDispatch> pdispValueObj;
595 if( !SUCCEEDED(
hr ) || !pdispValueObj )
return hr;
597 CComVariant aValueArgs[2];
598 aValueArgs[1] = CComVariant( L
"com.sun.star.embed.XActionsApproval" );
599 CComPtr< CComObject< SOActionsApproval > > pApproval(
new CComObject<SOActionsApproval>() );
600 aValueArgs[0] = CComVariant ( pApproval );
602 hr =
ExecuteFunc( pdispValueObj, L
"Set", aValueArgs, 2, &dummyResult );
603 if( !SUCCEEDED(
hr ) )
return hr;
605 CComVariant aValueObj( pdispValueObj );
606 SafeArrayPutElement( pInitVals, &nInitInd, &aValueObj );
609 CComVariant aVarInitVals;
612 if( !SUCCEEDED(
hr ) )
return hr;
620 SAFEARRAY* pPropVals = SafeArrayCreateVector(VT_DISPATCH, 0, 1);
622 CComPtr<IDispatch> pdispPropVal;
623 HRESULT
hr =
GetUnoStruct( L
"com.sun.star.beans.PropertyValue", pdispPropVal );
624 if( !SUCCEEDED(
hr ) )
return hr;
626 OLECHAR
const * sPropMemberNames[2] = { L
"Name", L
"Value" };
627 CComVariant pPropVar[2];
628 pPropVar[0] = CComVariant( sArgName );
629 pPropVar[1].vt =
VT_BOOL; pPropVar[1].boolVal = sArgVal ? VARIANT_TRUE : VARIANT_FALSE ;
631 if( !SUCCEEDED(
hr ) )
return hr;
633 SafeArrayPutElement( pPropVals, &ix, pdispPropVal );
635 CComVariant aDispArgs[4];
636 aDispArgs[3] = CComVariant( sUrl );
637 aDispArgs[2] = CComVariant( L
"_self" );
638 aDispArgs[1] = CComVariant( 0 );
640 aDispArgs[0].vt =
VT_ARRAY | VT_DISPATCH; aDispArgs[0].parray = pPropVals;
642 CComVariant dummyResult;
644 if( !SUCCEEDED(
hr ) )
return hr;
650 CComVariant* aArgNames,
651 CComVariant* aArgVals,
654 CComPtr<IDispatch> pdispURL;
656 if( !SUCCEEDED(
hr ) )
return hr;
658 CComPtr<IDispatch> pdispXDispatch;
659 CComVariant aArgs[3];
660 aArgs[2] = CComVariant( pdispURL );
661 aArgs[1] = CComVariant( L
"" );
662 aArgs[0] = CComVariant(
int(0) );
668 if( !SUCCEEDED(
hr ) )
return hr;
670 SAFEARRAY* pPropVals = SafeArrayCreateVector(VT_DISPATCH, 0,
count);
671 for(
LONG ix = 0; ix < static_cast<LONG>(
count); ix ++ )
673 CComPtr<IDispatch> pdispPropVal;
674 hr =
GetUnoStruct( L
"com.sun.star.beans.PropertyValue", pdispPropVal );
675 if( !SUCCEEDED(
hr ) )
return hr;
677 OLECHAR
const * sPropMemberNames[2] = { L
"Name", L
"Value" };
678 CComVariant pPropVar[2];
679 pPropVar[0] = aArgNames[ix];
680 pPropVar[1] = aArgVals[ix];
682 if( !SUCCEEDED(
hr ) )
return hr;
684 SafeArrayPutElement( pPropVals, &ix, pdispPropVal );
687 CComVariant aDispArgs[2];
688 aDispArgs[1] = CComVariant( pdispURL );
690 aDispArgs[0].vt =
VT_ARRAY | VT_DISPATCH; aDispArgs[0].parray = pPropVals;
692 CComVariant dummyResult;
693 hr =
ExecuteFunc( pdispXDispatch, L
"dispatch", aDispArgs, 2, &dummyResult );
694 if( !SUCCEEDED(
hr ) )
return hr;
704 bool bSuccess =
false;
705 bool bFinishDownload =
false;
709 bFinishDownload =
true;
710 if ( SUCCEEDED( dwSize ) )
719 CComVariant aServiceName( L
"com.sun.star.io.TempFile" );
729 SAFEARRAY* pDataArray = SafeArrayCreateVector(
VT_I1, 0, dwSize);
733 hr = SafeArrayLock( pDataArray );
734 if ( SUCCEEDED(
hr ) )
736 for( DWORD ix = 0; ix < dwSize; ix++ )
737 static_cast<BYTE*
>(pDataArray->pvData)[ix] = pBytes[ix];
738 hr = SafeArrayUnlock( pDataArray );
739 if ( SUCCEEDED(
hr ) )
741 CComVariant aArgs[1];
742 aArgs[0].vt =
VT_ARRAY |
VT_I1; aArgs[0].parray = pDataArray;
743 CComVariant dummyResult;
745 if( SUCCEEDED(
hr ) )
756 bFinishDownload =
true;
760 if ( bFinishDownload )
773 CComVariant aArgNames[4] = { L
"ReadOnly", L
"ViewOnly", L
"AsTemplate", L
"InputStream" };
774 CComVariant aArgVals[4];
777 aArgVals[0].vt =
VT_BOOL; aArgVals[0].boolVal =
mbViewOnly ? VARIANT_TRUE : VARIANT_FALSE;
778 aArgVals[1].vt =
VT_BOOL; aArgVals[1].boolVal =
mbViewOnly ? VARIANT_TRUE : VARIANT_FALSE;
779 aArgVals[2].vt =
VT_BOOL; aArgVals[2].boolVal = VARIANT_FALSE;
788 if( !SUCCEEDED(
hr ) )
return hr;
791 CComPtr<IDispatch> pdispController;
793 if ( SUCCEEDED(
hr ) && pdispController )
795 CComPtr<IDispatch> pdispModel;
796 hr =
GetIDispByFunc( pdispController, L
"getModel",
nullptr, 0, pdispModel );
797 if ( SUCCEEDED(
hr ) && pdispModel )
799 CComPtr<IDispatch> pdispPres;
800 hr =
GetIDispByFunc( pdispModel, L
"getPresentation",
nullptr, 0, pdispPres );
801 if ( SUCCEEDED(
hr ) && pdispPres )
805 OLECHAR
const * pPropName = L
"IsFullScreen";
806 CComVariant pPresProp;
807 pPresProp.vt =
VT_BOOL; pPresProp.boolVal = VARIANT_FALSE ;
811 if ( SUCCEEDED(
hr ) )
813 CComVariant dummyResult;
814 ExecuteFunc( pdispPres, L
"Start",
nullptr, 0, &dummyResult );
827 CComVariant aDispVariant( pIDispDispInter );
828 CComVariant dummyResult;
830 L
"registerDispatchProviderInterceptor",
835 if( !SUCCEEDED(
hr ) )
return hr;
846 CComPtr<IDispatch> pdispConfProv;
847 CComVariant aServiceName( L
"com.sun.star.configuration.ConfigurationProvider" );
854 if( SUCCEEDED(
hr ) && pdispConfProv )
856 CComPtr<IDispatch> pdispConfAccess;
858 SAFEARRAY* pInitParams = SafeArrayCreateVector(
VT_VARIANT, 0, 1 );
863 CComVariant aConfPath( L
"org.openoffice.Setup" );
864 SafeArrayPutElement( pInitParams, &ix, &aConfPath );
866 CComVariant aArgs[2];
867 aArgs[1] = CComVariant( L
"com.sun.star.configuration.ConfigurationAccess" );
871 L
"createInstanceWithArguments",
876 if( SUCCEEDED(
hr ) && pdispConfAccess )
878 CComVariant aOfficeName;
880 CComVariant aProductName( L
"Product/ooName" );
882 L
"getByHierarchicalName",
887 if( SUCCEEDED(
hr ) && aOfficeName.vt ==
VT_BSTR )
889 CComVariant aOfficeVersion;
891 CComVariant aProductVersion( L
"Product/ooSetupVersion" );
893 L
"getByHierarchicalName",
898 if( SUCCEEDED(
hr ) && aOfficeVersion.vt ==
VT_BSTR )
900 if (!wcscmp(aOfficeName.bstrVal, L
"StarOffice"))
902 if (!wcsncmp(aOfficeVersion.bstrVal, L
"6.1", 3))
904 else if (!wcsncmp(aOfficeVersion.bstrVal, L
"6.0", 3))
906 else if (!wcsncmp(aOfficeVersion.bstrVal, L
"5.2", 3))
913 if (!wcsncmp(aOfficeVersion.bstrVal, L
"1.1", 3))
915 else if (!wcsncmp(aOfficeVersion.bstrVal, L
"1.0", 3))
936 explicit LockingGuard(
bool& bLocked )
937 : mbLocked( bLocked )
962 HRESULT
hr = m_spInPlaceSite->GetWindow( &hwnd );
963 if( !SUCCEEDED(
hr ) )
return hr;
969 CComVariant dummyResult;
970 CComVariant aPropVar;
971 aPropVar.vt =
VT_BOOL; aPropVar.boolVal = VARIANT_FALSE;
980 WS_CHILD | WS_CLIPCHILDREN | WS_BORDER,
983 di.prcBounds->right - di.prcBounds->left,
984 di.prcBounds->bottom - di.prcBounds->top,
990 ::ShowWindow(
mOffWin, SW_SHOW );
995 ::GetWindowRect(
mOffWin, &aRect );
997 if( aRect.left != di.prcBounds->left || aRect.top != di.prcBounds->top
998 || aRect.right != di.prcBounds->right || aRect.bottom != di.prcBounds->bottom )
1005 di.prcBounds->right - di.prcBounds->left,
1006 di.prcBounds->bottom - di.prcBounds->top,
1009 CComVariant aPosArgs[5];
1010 aPosArgs[4] = CComVariant( 0 );
1011 aPosArgs[3] = CComVariant( 0 );
1012 aPosArgs[2] = CComVariant(
int(di.prcBounds->right - di.prcBounds->left) );
1013 aPosArgs[1] = CComVariant(
int(di.prcBounds->bottom - di.prcBounds->top) );
1014 aPosArgs[0] = CComVariant( 12 );
1015 CComVariant dummyResult;
1017 if( !SUCCEEDED(
hr ) )
return hr;
1030 di.prcBounds->right - di.prcBounds->left,
1031 di.prcBounds->bottom - di.prcBounds->top );
1033 if( !SUCCEEDED(
hr ) )
1047 if( !SUCCEEDED(
hr ) )
1061 CComControl<CSOActiveX>::OnDrawAdvanced( di );
1071 FillRect( di.hdcDraw,
reinterpret_cast<RECT const *
>(di.prcBounds),
reinterpret_cast<HBRUSH
>(COLOR_BACKGROUND) );
1076COM_DECLSPEC_NOTHROW STDMETHODIMP CSOActiveX::SetClientSite( IOleClientSite* aClientSite )
1078 HRESULT
hr = IOleObjectImpl<CSOActiveX>::SetClientSite( aClientSite );
1088 CComPtr<IOleContainer> aContainer;
1089 m_spClientSite->GetContainer( &aContainer );
1092 if( SUCCEEDED(
hr ) && aContainer )
1094 CComQIPtr<IServiceProvider, &IID_IServiceProvider> aServiceProvider( aContainer );
1097 if( aServiceProvider )
1099 aServiceProvider->QueryService( SID_SInternetExplorer,
1115 DISPPARAMS* pDispParams,
1116 VARIANT* pvarResult,
1117 EXCEPINFO* pExcepInfo,
1120 if (riid != IID_NULL)
1121 return DISP_E_UNKNOWNINTERFACE;
1124 return DISP_E_PARAMNOTOPTIONAL;
1126 if ( dispidMember == DISPID_ONQUIT )
1131 dispidMember, riid, lcid, wFlags, pDispParams,
1132 pvarResult, pExcepInfo, puArgErr);
1138 const OLECHAR* target )
1140 CComVariant aEmpty1, aEmpty2, aEmpty3;
1141 CComVariant aUrl( url );
1142 CComVariant aTarget;
1144 aTarget = CComVariant( target );
static HRESULT PutPropertiesToIDisp(IDispatch *pdispObject, OLECHAR const **sMemberNames, CComVariant *pVariant, unsigned int count)
static HRESULT GetIDispByFunc(IDispatch *idispUnoObject, OLECHAR const *sFuncName, CComVariant *params, unsigned int count, CComPtr< IDispatch > &pdispResult)
#define STAROFFICE_WINDOWCLASS
HRESULT ExecuteFunc(IDispatch *idispUnoObject, OLECHAR const *sFuncName, CComVariant *params, unsigned int count, CComVariant *pResult)
static void OutputError_Impl(HWND hw, HRESULT ErrorCode)
HRESULT GetPropertiesFromIDisp(IDispatch *pdispObject, OLECHAR const **sMemberNames, CComVariant *pVariant, unsigned int count)
HRESULT CreateFrameOldWay(HWND hwnd, int width, int height)
CComPtr< IDispatch > mpInstanceLocker
SOVersion GetVersionConnected()
SODispatchInterceptor * mpDispatchInterceptor
HRESULT GetUrlStruct(OLECHAR const *sUrl, CComPtr< IDispatch > &pdispUrl)
CComPtr< IDispatch > mpDispFactory
HRESULT TerminateOffice()
HRESULT CallLoadComponentFromURL1PBool(OLECHAR const *sUrl, OLECHAR const *sArgName, BOOL sArgVal)
HRESULT GetURL(const OLECHAR *url, const OLECHAR *target)
HRESULT SetLayoutManagerProps()
HRESULT OnDrawAdvanced(ATL_DRAWINFO &di) override
static DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND|VIEWSTATUS_OPAQUE) public STDMETHOD() Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) override
STDMETHOD() InitNew() override
CComPtr< IDispatch > mpDispTempFile
HRESULT GetUnoStruct(OLECHAR const *sStructName, CComPtr< IDispatch > &pdispResult)
STDMETHOD() Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog) override
CComPtr< IWebBrowser2 > mWebBrowser2
CComPtr< IDispatch > mpDispFrame
HRESULT CallDispatchMethod(OLECHAR const *sUrl, CComVariant *sArgNames, CComVariant *sArgVal, unsigned int count)
void CallbackCreateXInputStream(CBindStatusCallback< CSOActiveX > *pbsc, BYTE *pBytes, DWORD dwSize)
CComPtr< IDispatch > mpDispWin
HRESULT OnDraw(ATL_DRAWINFO &di) override
BOOL mbReadyForActivation
void SetParent(CSOActiveX *pParent)
MetadataImporterPluginType * result
const PropertyStruct aPropNames[]
const wchar_t *typedef BOOL