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;
 }
 
 /******************************************************************************