ole32 [4/7]: Add a WIDL-generated proxy file for objidl.idl.

Dan Hipschman dsh at linux.ucla.edu
Wed Nov 28 19:23:05 CST 2007


---
 dlls/ole32/Makefile.in      |    1 +
 dlls/ole32/ole32_objidl.idl |   25 ++
 dlls/ole32/oleproxy.c       |    2 +
 dlls/ole32/tests/moniker.c  |   16 --
 dlls/ole32/usrmarshal.c     |  576 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 604 insertions(+), 16 deletions(-)
 create mode 100644 dlls/ole32/ole32_objidl.idl

diff --git a/dlls/ole32/Makefile.in b/dlls/ole32/Makefile.in
index 8f8a82b..c087538 100644
--- a/dlls/ole32/Makefile.in
+++ b/dlls/ole32/Makefile.in
@@ -69,6 +69,7 @@ IDL_C_SRCS = \
 
 IDL_P_SRCS = \
 	dcom.idl \
+	ole32_objidl.idl \
 	ole32_unknwn.idl
 
 @MAKE_DLL_RULES@
diff --git a/dlls/ole32/ole32_objidl.idl b/dlls/ole32/ole32_objidl.idl
new file mode 100644
index 0000000..64368bd
--- /dev/null
+++ b/dlls/ole32/ole32_objidl.idl
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2007 Google (Dan Hipschman)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* The header file generated from this includes rpc.h, which ends up
+   including objidl.h at some point.  This will cause all sorts of errors
+   so the easiest thing to do is just comment out our entire header.  */
+
+cpp_quote("#if 0    /* ole32_objidl.idl hack */")
+#include "objidl.idl"
+cpp_quote("#endif   /* ole32_objidl.idl hack */")
diff --git a/dlls/ole32/oleproxy.c b/dlls/ole32/oleproxy.c
index 45f55c0..9c23ae0 100644
--- a/dlls/ole32/oleproxy.c
+++ b/dlls/ole32/oleproxy.c
@@ -47,10 +47,12 @@ static CStdPSFactoryBuffer PSFactoryBuffer;
 CSTDSTUBBUFFERRELEASE(&PSFactoryBuffer)
 
 extern const ExtendedProxyFileInfo dcom_ProxyFileInfo;
+extern const ExtendedProxyFileInfo ole32_objidl_ProxyFileInfo;
 extern const ExtendedProxyFileInfo ole32_unknwn_ProxyFileInfo;
 
 static const ProxyFileInfo *OLE32_ProxyFileList[] = {
   &dcom_ProxyFileInfo,
+  &ole32_objidl_ProxyFileInfo,
   &ole32_unknwn_ProxyFileInfo,
   NULL
 };
diff --git a/dlls/ole32/tests/moniker.c b/dlls/ole32/tests/moniker.c
index a5a1e8f..00a6f4e 100644
--- a/dlls/ole32/tests/moniker.c
+++ b/dlls/ole32/tests/moniker.c
@@ -571,26 +571,18 @@ static void test_ROT(void)
     /* try with our own moniker that doesn't support IROTData */
     hr = IRunningObjectTable_Register(pROT, ROTFLAGS_REGISTRATIONKEEPSALIVE,
         (IUnknown*)&Test_ClassFactory, &MonikerNoROTData, &dwCookie);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_Register);
-    }
     ok(!*expected_method_list, "Method sequence starting from %s not called\n", *expected_method_list);
 
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_more_than_one_lock();
-    }
 
     expected_method_list = methods_isrunning_no_ROTData;
     hr = IRunningObjectTable_IsRunning(pROT, &MonikerNoROTData);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_IsRunning);
-    }
     ok(!*expected_method_list, "Method sequence starting from %s not called\n", *expected_method_list);
 
     hr = IRunningObjectTable_Revoke(pROT, dwCookie);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_Revoke);
-    }
 
     ok_no_locks();
 
@@ -598,26 +590,18 @@ static void test_ROT(void)
     /* try with our own moniker */
     hr = IRunningObjectTable_Register(pROT, ROTFLAGS_REGISTRATIONKEEPSALIVE,
         (IUnknown*)&Test_ClassFactory, &Moniker, &dwCookie);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_Register);
-    }
     ok(!*expected_method_list, "Method sequence starting from %s not called\n", *expected_method_list);
 
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_more_than_one_lock();
-    }
 
     expected_method_list = methods_isrunning;
     hr = IRunningObjectTable_IsRunning(pROT, &Moniker);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_IsRunning);
-    }
     ok(!*expected_method_list, "Method sequence starting from %s not called\n", *expected_method_list);
 
     hr = IRunningObjectTable_Revoke(pROT, dwCookie);
-    todo_wine { /* only fails because of lack of IMoniker marshaling */
     ok_ole_success(hr, IRunningObjectTable_Revoke);
-    }
 
     ok_no_locks();
 
diff --git a/dlls/ole32/usrmarshal.c b/dlls/ole32/usrmarshal.c
index 552c96e..ed6ec47 100644
--- a/dlls/ole32/usrmarshal.c
+++ b/dlls/ole32/usrmarshal.c
@@ -2001,3 +2001,579 @@ HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
     FIXME(":stub\n");
     return E_NOTIMPL;
 }
+
+/* call_as/local stubs for objidl.idl */
+
+HRESULT CALLBACK IEnumUnknown_Next_Proxy(
+    IEnumUnknown* This,
+    ULONG celt,
+    IUnknown **rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
+    IEnumUnknown* This,
+    ULONG celt,
+    IUnknown **rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
+    IBindCtx* This,
+    BIND_OPTS *pbindopts)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
+    IBindCtx* This,
+    BIND_OPTS2 *pbindopts)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
+    IBindCtx* This,
+    BIND_OPTS *pbindopts)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
+    IBindCtx* This,
+    BIND_OPTS2 *pbindopts)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IEnumMoniker_Next_Proxy(
+    IEnumMoniker* This,
+    ULONG celt,
+    IMoniker **rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
+    IEnumMoniker* This,
+    ULONG celt,
+    IMoniker **rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+BOOL CALLBACK IRunnableObject_IsRunning_Proxy(
+    IRunnableObject* This)
+{
+    BOOL rv;
+    FIXME(":stub\n");
+    memset(&rv, 0, sizeof rv);
+    return rv;
+}
+
+HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub(
+    IRunnableObject* This)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IMoniker_BindToObject_Proxy(
+    IMoniker* This,
+    IBindCtx *pbc,
+    IMoniker *pmkToLeft,
+    REFIID riidResult,
+    void **ppvResult)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
+    IMoniker* This,
+    IBindCtx *pbc,
+    IMoniker *pmkToLeft,
+    REFIID riidResult,
+    IUnknown **ppvResult)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
+    IMoniker* This,
+    IBindCtx *pbc,
+    IMoniker *pmkToLeft,
+    REFIID riid,
+    void **ppvObj)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
+    IMoniker* This,
+    IBindCtx *pbc,
+    IMoniker *pmkToLeft,
+    REFIID riid,
+    IUnknown **ppvObj)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IEnumString_Next_Proxy(
+    IEnumString* This,
+    ULONG celt,
+    LPOLESTR *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumString_Next_Stub(
+    IEnumString* This,
+    ULONG celt,
+    LPOLESTR *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ISequentialStream_Read_Proxy(
+    ISequentialStream* This,
+    void *pv,
+    ULONG cb,
+    ULONG *pcbRead)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB ISequentialStream_Read_Stub(
+    ISequentialStream* This,
+    byte *pv,
+    ULONG cb,
+    ULONG *pcbRead)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ISequentialStream_Write_Proxy(
+    ISequentialStream* This,
+    const void *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB ISequentialStream_Write_Stub(
+    ISequentialStream* This,
+    const byte *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IStream_Seek_Proxy(
+    IStream* This,
+    LARGE_INTEGER dlibMove,
+    DWORD dwOrigin,
+    ULARGE_INTEGER *plibNewPosition)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IStream_Seek_Stub(
+    IStream* This,
+    LARGE_INTEGER dlibMove,
+    DWORD dwOrigin,
+    ULARGE_INTEGER *plibNewPosition)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IStream_CopyTo_Proxy(
+    IStream* This,
+    IStream *pstm,
+    ULARGE_INTEGER cb,
+    ULARGE_INTEGER *pcbRead,
+    ULARGE_INTEGER *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IStream_CopyTo_Stub(
+    IStream* This,
+    IStream *pstm,
+    ULARGE_INTEGER cb,
+    ULARGE_INTEGER *pcbRead,
+    ULARGE_INTEGER *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
+    IEnumSTATSTG* This,
+    ULONG celt,
+    STATSTG *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
+    IEnumSTATSTG* This,
+    ULONG celt,
+    STATSTG *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IStorage_OpenStream_Proxy(
+    IStorage* This,
+    LPCOLESTR pwcsName,
+    void *reserved1,
+    DWORD grfMode,
+    DWORD reserved2,
+    IStream **ppstm)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IStorage_OpenStream_Stub(
+    IStorage* This,
+    LPCOLESTR pwcsName,
+    unsigned long cbReserved1,
+    byte *reserved1,
+    DWORD grfMode,
+    DWORD reserved2,
+    IStream **ppstm)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IStorage_EnumElements_Proxy(
+    IStorage* This,
+    DWORD reserved1,
+    void *reserved2,
+    DWORD reserved3,
+    IEnumSTATSTG **ppenum)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IStorage_EnumElements_Stub(
+    IStorage* This,
+    DWORD reserved1,
+    unsigned long cbReserved2,
+    byte *reserved2,
+    DWORD reserved3,
+    IEnumSTATSTG **ppenum)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ILockBytes_ReadAt_Proxy(
+    ILockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    void *pv,
+    ULONG cb,
+    ULONG *pcbRead)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB ILockBytes_ReadAt_Stub(
+    ILockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    byte *pv,
+    ULONG cb,
+    ULONG *pcbRead)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ILockBytes_WriteAt_Proxy(
+    ILockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    const void *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB ILockBytes_WriteAt_Stub(
+    ILockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    const byte *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy(
+    IFillLockBytes* This,
+    const void *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub(
+    IFillLockBytes* This,
+    const byte *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IFillLockBytes_FillAt_Proxy(
+    IFillLockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    const void *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub(
+    IFillLockBytes* This,
+    ULARGE_INTEGER ulOffset,
+    const byte *pv,
+    ULONG cb,
+    ULONG *pcbWritten)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
+    IEnumFORMATETC* This,
+    ULONG celt,
+    FORMATETC *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
+    IEnumFORMATETC* This,
+    ULONG celt,
+    FORMATETC *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
+    IEnumSTATDATA* This,
+    ULONG celt,
+    STATDATA *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
+    IEnumSTATDATA* This,
+    ULONG celt,
+    STATDATA *rgelt,
+    ULONG *pceltFetched)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink_OnDataChange_Proxy(
+    IAdviseSink* This,
+    FORMATETC *pFormatetc,
+    STGMEDIUM *pStgmed)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
+    IAdviseSink* This,
+    FORMATETC *pFormatetc,
+    ASYNC_STGMEDIUM *pStgmed)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink_OnViewChange_Proxy(
+    IAdviseSink* This,
+    DWORD dwAspect,
+    LONG lindex)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
+    IAdviseSink* This,
+    DWORD dwAspect,
+    LONG lindex)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink_OnRename_Proxy(
+    IAdviseSink* This,
+    IMoniker *pmk)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
+    IAdviseSink* This,
+    IMoniker *pmk)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink_OnSave_Proxy(
+    IAdviseSink* This)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
+    IAdviseSink* This)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink_OnClose_Proxy(
+    IAdviseSink* This)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
+    IAdviseSink* This)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy(
+    IAdviseSink2* This,
+    IMoniker *pmk)
+{
+    FIXME(":stub\n");
+}
+
+HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub(
+    IAdviseSink2* This,
+    IMoniker *pmk)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IDataObject_GetData_Proxy(
+    IDataObject* This,
+    FORMATETC *pformatetcIn,
+    STGMEDIUM *pmedium)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IDataObject_GetData_Stub(
+    IDataObject* This,
+    FORMATETC *pformatetcIn,
+    STGMEDIUM *pRemoteMedium)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
+    IDataObject* This,
+    FORMATETC *pformatetc,
+    STGMEDIUM *pmedium)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
+    IDataObject* This,
+    FORMATETC *pformatetc,
+    STGMEDIUM *pRemoteMedium)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT CALLBACK IDataObject_SetData_Proxy(
+    IDataObject* This,
+    FORMATETC *pformatetc,
+    STGMEDIUM *pmedium,
+    BOOL fRelease)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB IDataObject_SetData_Stub(
+    IDataObject* This,
+    FORMATETC *pformatetc,
+    FLAG_STGMEDIUM *pmedium,
+    BOOL fRelease)
+{
+    FIXME(":stub\n");
+    return E_NOTIMPL;
+}



More information about the wine-patches mailing list