From 9fc9c91bf47948f2f35699fe2956955d609198d5 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 7 Dec 2022 11:50:06 +0100 Subject: [PATCH] include: Use proper dllimports for rpcrt4 functions. --- dlls/rpcrt4/Makefile.in | 2 +- include/rpc.h | 11 +++++++++-- include/rpcproxy.h | 38 +++++++++++++------------------------- 3 files changed, 23 insertions(+), 28 deletions(-) diff --git a/dlls/rpcrt4/Makefile.in b/dlls/rpcrt4/Makefile.in index 822e6ded35d..2aa2a5376aa 100644 --- a/dlls/rpcrt4/Makefile.in +++ b/dlls/rpcrt4/Makefile.in @@ -1,4 +1,4 @@ -EXTRADEFS = -DMSWMSG +EXTRADEFS = -D_RPCRT4_ -DMSWMSG MODULE = rpcrt4.dll IMPORTLIB = rpcrt4 IMPORTS = uuid advapi32 diff --git a/include/rpc.h b/include/rpc.h index 9fa1c1ef161..0b029532655 100644 --- a/include/rpc.h +++ b/include/rpc.h @@ -38,9 +38,16 @@ #define __RPC_USER __stdcall #define __RPC_STUB __stdcall #define RPC_ENTRY __stdcall -#define RPCRTAPI -typedef LONG RPC_STATUS; +#ifndef RPCRTAPI +#if !defined(_RPCRT4_) && !defined(_KRPCENV_) +#define RPCRTAPI DECLSPEC_IMPORT +#else +#define RPCRTAPI +#endif +#endif + +typedef LONG RPC_STATUS; typedef void* I_RPC_HANDLE; #include diff --git a/include/rpcproxy.h b/include/rpcproxy.h index 34321d05064..87bb7022629 100644 --- a/include/rpcproxy.h +++ b/include/rpcproxy.h @@ -125,34 +125,22 @@ typedef struct tagCStdPSFactoryBuffer #define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction -ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) DECLSPEC_HIDDEN; -ULONG STDMETHODCALLTYPE NdrCStdStubBuffer2_Release(IRpcStubBuffer *This, IPSFactoryBuffer *pPSF); - #define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0 +RPCRTAPI HRESULT WINAPI CStdStubBuffer_QueryInterface( IRpcStubBuffer *This, REFIID riid, void **ppvObject ); +RPCRTAPI ULONG WINAPI CStdStubBuffer_AddRef( IRpcStubBuffer *This ); +RPCRTAPI HRESULT WINAPI CStdStubBuffer_Connect( IRpcStubBuffer *This, IUnknown *pUnkServer ); +RPCRTAPI void WINAPI CStdStubBuffer_Disconnect( IRpcStubBuffer *This ); +RPCRTAPI HRESULT WINAPI CStdStubBuffer_Invoke( IRpcStubBuffer *This, RPCOLEMESSAGE *pRpcMsg, IRpcChannelBuffer *pRpcChannelBuffer ); +RPCRTAPI IRpcStubBuffer * WINAPI CStdStubBuffer_IsIIDSupported( IRpcStubBuffer *This, REFIID riid ); +RPCRTAPI ULONG WINAPI CStdStubBuffer_CountRefs( IRpcStubBuffer *This ); +RPCRTAPI HRESULT WINAPI CStdStubBuffer_DebugServerQueryInterface( IRpcStubBuffer *This, void **ppv ); +RPCRTAPI void WINAPI CStdStubBuffer_DebugServerRelease( IRpcStubBuffer *This, void *pv ); +RPCRTAPI ULONG WINAPI NdrCStdStubBuffer_Release( IRpcStubBuffer *This, IPSFactoryBuffer *pPSF ); +RPCRTAPI ULONG WINAPI NdrCStdStubBuffer2_Release(IRpcStubBuffer *This, IPSFactoryBuffer *pPSF); -HRESULT WINAPI - CStdStubBuffer_QueryInterface( IRpcStubBuffer *This, REFIID riid, void **ppvObject ); -ULONG WINAPI - CStdStubBuffer_AddRef( IRpcStubBuffer *This ); -ULONG WINAPI - CStdStubBuffer_Release( IRpcStubBuffer *This ) DECLSPEC_HIDDEN; -ULONG WINAPI - NdrCStdStubBuffer_Release( IRpcStubBuffer *This, IPSFactoryBuffer *pPSF ); -HRESULT WINAPI - CStdStubBuffer_Connect( IRpcStubBuffer *This, IUnknown *pUnkServer ); -void WINAPI - CStdStubBuffer_Disconnect( IRpcStubBuffer *This ); -HRESULT WINAPI - CStdStubBuffer_Invoke( IRpcStubBuffer *This, RPCOLEMESSAGE *pRpcMsg, IRpcChannelBuffer *pRpcChannelBuffer ); -IRpcStubBuffer * WINAPI - CStdStubBuffer_IsIIDSupported( IRpcStubBuffer *This, REFIID riid ); -ULONG WINAPI - CStdStubBuffer_CountRefs( IRpcStubBuffer *This ); -HRESULT WINAPI - CStdStubBuffer_DebugServerQueryInterface( IRpcStubBuffer *This, void **ppv ); -void WINAPI - CStdStubBuffer_DebugServerRelease( IRpcStubBuffer *This, void *pv ); +ULONG STDMETHODCALLTYPE CStdStubBuffer_Release( IRpcStubBuffer *This ) DECLSPEC_HIDDEN; +ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) DECLSPEC_HIDDEN; #define CStdStubBuffer_METHODS \ CStdStubBuffer_QueryInterface, \