[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