[OLE #130] A couple of rpcrt4 stubs

Huw D M Davies h.davies1 at physics.ox.ac.uk
Wed Oct 26 06:10:09 CDT 2005


        Huw Davies <huw at codeweavers.com>
        Stubs for NdrStubForwardingFunction and
        NdrCStdStubBuffer2_Release along with a few related defines.
-- 
Huw Davies
huw at codeweavers.com
Index: include/rpcproxy.h
===================================================================
RCS file: /home/wine/wine/include/rpcproxy.h,v
retrieving revision 1.15
diff -u -p -r1.15 rpcproxy.h
--- include/rpcproxy.h	6 Sep 2004 21:25:16 -0000	1.15
+++ include/rpcproxy.h	26 Oct 2005 11:05:02 -0000
@@ -119,6 +119,14 @@ typedef struct tagCStdPSFactoryBuffer
   long Filler1;
 } CStdPSFactoryBuffer;
 
+#define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction
+
+ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This);
+ULONG STDMETHODCALLTYPE NdrCStdStubBuffer2_Release(IRpcStubBuffer *This, IPSFactoryBuffer *pPSF);
+
+#define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0
+
+
 HRESULT WINAPI
   CStdStubBuffer_QueryInterface( IRpcStubBuffer *This, REFIID riid, void **ppvObject );
 ULONG WINAPI
@@ -195,6 +203,14 @@ RPCRTAPI HRESULT RPC_ENTRY
 ULONG WINAPI CStdStubBuffer_Release(IRpcStubBuffer *This) \
   { return NdrCStdStubBuffer_Release(This, (IPSFactoryBuffer *)pFactory); }
 
+#ifdef PROXY_DELEGATION
+#define CSTDSTUBBUFFER2RELEASE(pFactory) \
+ULONG WINAPI CStdStubBuffer2_Release(IRpcStubBuffer *This) \
+  { return NdrCStdStubBuffer2_Release(This, (IPSFactoryBuffer *)pFactory); }
+#else
+#define CSTDSTUBBUFFER2RELEASE(pFactory)
+#endif
+
 #define IID_GENERIC_CHECK_IID(name,pIID,index) memcmp(pIID, name##_ProxyVtblList[index]->header.piid, sizeof(IID))
 
 /*
Index: dlls/rpcrt4/cstub.c
===================================================================
RCS file: /home/wine/wine/dlls/rpcrt4/cstub.c,v
retrieving revision 1.9
diff -u -p -r1.9 cstub.c
--- dlls/rpcrt4/cstub.c	19 Jul 2005 19:12:54 -0000	1.9
+++ dlls/rpcrt4/cstub.c	26 Oct 2005 11:05:02 -0000
@@ -109,6 +109,13 @@ ULONG WINAPI NdrCStdStubBuffer_Release(L
   return This->RefCount;
 }
 
+ULONG WINAPI NdrCStdStubBuffer2_Release(LPRPCSTUBBUFFER iface,
+                                        LPPSFACTORYBUFFER pPSF)
+{
+    FIXME("Not implemented\n");
+    return 0;
+}
+
 HRESULT WINAPI CStdStubBuffer_Connect(LPRPCSTUBBUFFER iface,
                                      LPUNKNOWN lpUnkServer)
 {
Index: dlls/rpcrt4/ndr_midl.c
===================================================================
RCS file: /home/wine/wine/dlls/rpcrt4/ndr_midl.c,v
retrieving revision 1.22
diff -u -p -r1.22 ndr_midl.c
--- dlls/rpcrt4/ndr_midl.c	3 Aug 2005 14:55:57 -0000	1.22
+++ dlls/rpcrt4/ndr_midl.c	26 Oct 2005 11:05:02 -0000
@@ -301,3 +301,13 @@ RPC_STATUS RPC_ENTRY NdrMapCommAndFaultS
 
     return RPC_S_OK;
 }
+
+/************************************************************************
+ *           NdrStubForwardingFunction [RPCRT4.@]
+ */
+void __RPC_STUB NdrStubForwardingFunction( IRpcStubBuffer *This, IRpcChannelBuffer *pChannel,
+                                           PRPC_MESSAGE pMsg, DWORD *pdwStubPhase )
+{
+    FIXME("Not implemented\n");
+    return;
+}
Index: dlls/rpcrt4/rpcrt4.spec
===================================================================
RCS file: /home/wine/wine/dlls/rpcrt4/rpcrt4.spec,v
retrieving revision 1.58
diff -u -p -r1.58 rpcrt4.spec
--- dlls/rpcrt4/rpcrt4.spec	8 Aug 2005 17:37:40 -0000	1.58
+++ dlls/rpcrt4/rpcrt4.spec	26 Oct 2005 11:05:02 -0000
@@ -154,7 +154,7 @@
 @ stdcall NdrByteCountPointerFree(ptr ptr ptr)
 @ stdcall NdrByteCountPointerMarshall(ptr ptr ptr)
 @ stdcall NdrByteCountPointerUnmarshall(ptr ptr ptr long)
-@ stub NdrCStdStubBuffer2_Release
+@ stdcall NdrCStdStubBuffer2_Release(ptr ptr)
 @ stdcall NdrCStdStubBuffer_Release(ptr ptr)
 @ stdcall NdrClearOutParameters(ptr ptr ptr)
 @ varargs NdrClientCall2(ptr ptr)
@@ -325,7 +325,7 @@
 @ stdcall NdrSimpleTypeUnmarshall(ptr ptr long)
 @ stub NdrStubCall2
 @ stub NdrStubCall
-@ stub NdrStubForwardingFunction
+@ stdcall NdrStubForwardingFunction(ptr ptr ptr ptr)
 @ stdcall NdrStubGetBuffer(ptr ptr ptr)
 @ stdcall NdrStubInitialize(ptr ptr ptr ptr)
 @ stub NdrStubInitializeMarshall



More information about the wine-patches mailing list