Return error codes in some 16bit ole stubs, returning success causes crashes.
diff --git a/dlls/ole32/ole2stubs.c b/dlls/ole32/ole2stubs.c index 7cd95ae..52d6085 100644 --- a/dlls/ole32/ole2stubs.c +++ b/dlls/ole32/ole2stubs.c
@@ -35,7 +35,7 @@ LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) { FIXME("(%p,%p,%li,%p,%p,%p,%p), stub!\n",lpszFileName, riid, renderopt, lpFormatEtc, pClientSite, pStg, ppvObj); - return S_OK; + return E_NOTIMPL; } @@ -46,7 +46,7 @@ UINT uiFlags) { FIXME("(%x,%x,%x), stub!\n", hSrc, cfFormat, uiFlags); - return S_OK; + return E_NOTIMPL; } @@ -57,7 +57,7 @@ LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType) { FIXME("(%p,%x,%s) stub!\n",pstg,cf,debugstr_w(lpszUserType)); - return S_OK; + return E_NOTIMPL; } /*********************************************************************** @@ -76,7 +76,7 @@ HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert) { FIXME("(%p,%x), stub!\n", pStg, fConvert); - return S_OK; + return E_NOTIMPL; } /****************************************************************************** @@ -133,7 +133,7 @@ LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) { FIXME("(not shown), stub!\n"); - return S_OK; + return E_NOTIMPL; } /****************************************************************************** @@ -143,7 +143,7 @@ DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj) { FIXME("(not shown), stub!\n"); - return S_OK; + return E_NOTIMPL; } @@ -153,7 +153,7 @@ HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel) { FIXME("(%p,%p,%x), stub!\n", rclsid, lpszLabel, fUseTypeAsLabel); - return S_OK; + return (HGLOBAL)NULL; } /****************************************************************************** @@ -162,7 +162,7 @@ HRESULT WINAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType) { FIXME("(%p,%p,%p), stub!\n", pstg, pcf, lplpszUserType); - return S_OK; + return E_NOTIMPL; } /****************************************************************************** @@ -173,7 +173,7 @@ LPSTORAGE pStg, LPVOID* ppvObj) { FIXME("(not shown), stub!\n"); - return S_OK; + return E_NOTIMPL; } /****************************************************************************** @@ -186,7 +186,7 @@ LPVOID* ppvObj) { FIXME("(not shown), stub!\n"); - return S_OK; + return E_NOTIMPL; } /****************************************************************************** @@ -217,7 +217,7 @@ { FIXME("(%p, %ld, %p), stub!\n", clsid, dwDirection, ppenumFormatetc); - return S_OK; + return E_NOTIMPL; } /*********************************************************************** @@ -229,7 +229,7 @@ *(LPWORD)pvar = 0; /* sets at least the vt field to VT_EMPTY */ - return S_OK; + return E_NOTIMPL; } /*********************************************************************** @@ -240,7 +240,7 @@ { FIXME("(%p, %p): stub:\n", pvarDest, pvarSrc); - return S_OK; + return E_NOTIMPL; } /*********************************************************************** @@ -251,7 +251,7 @@ { FIXME("(%lu, %p): stub:\n", cVariants, rgvars); - return S_OK; + return E_NOTIMPL; } /***********************************************************************
diff --git a/dlls/oleaut32/ole2disp.c b/dlls/oleaut32/ole2disp.c index ccfa025..f63a574 100644 --- a/dlls/oleaut32/ole2disp.c +++ b/dlls/oleaut32/ole2disp.c
@@ -360,7 +360,7 @@ ITypeInfo **pptinfo) { FIXME("(%p,%ld,%p),stub\n",pidata,lcid,pptinfo); - return 0; + return E_NOTIMPL; } /****************************************************************************** @@ -374,7 +374,7 @@ { FIXME("(%p,%p,%p,%p),stub\n",punkOuter, pvThis, ptinfo, ppunkStdDisp); - return 0; + return E_NOTIMPL; } /****************************************************************************** @@ -384,7 +384,7 @@ IUnknown *punk, REFCLSID rclsid, DWORD dwFlags, unsigned long *pdwRegister ) { FIXME("(%p,%s,0x%08lx,%p):stub\n",punk,debugstr_guid(rclsid),dwFlags,pdwRegister); - return 0; + return E_NOTIMPL; } /******************************************************************************