diff --git a/reactos/lib/rpcrt4/cstub.c b/reactos/lib/rpcrt4/cstub.c index 98c7553f321..13004dd0e02 100644 --- a/reactos/lib/rpcrt4/cstub.c +++ b/reactos/lib/rpcrt4/cstub.c @@ -109,6 +109,13 @@ ULONG WINAPI NdrCStdStubBuffer_Release(LPRPCSTUBBUFFER iface, 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) { diff --git a/reactos/lib/rpcrt4/ndr_marshall.c b/reactos/lib/rpcrt4/ndr_marshall.c index 4b349c9a0be..e5c834198d1 100644 --- a/reactos/lib/rpcrt4/ndr_marshall.c +++ b/reactos/lib/rpcrt4/ndr_marshall.c @@ -1431,6 +1431,7 @@ unsigned char * WINAPI ComplexMarshall(PMIDL_STUB_MESSAGE pStubMsg, break; case RPC_FC_LONG: case RPC_FC_ULONG: + case RPC_FC_ENUM32: TRACE("long=%ld <= %p\n", *(DWORD*)pMemory, pMemory); memcpy(pStubMsg->Buffer, pMemory, 4); pStubMsg->Buffer += 4; @@ -1492,6 +1493,7 @@ unsigned char * WINAPI ComplexUnmarshall(PMIDL_STUB_MESSAGE pStubMsg, break; case RPC_FC_LONG: case RPC_FC_ULONG: + case RPC_FC_ENUM32: memcpy(pMemory, pStubMsg->Buffer, 4); TRACE("long=%ld => %p\n", *(DWORD*)pMemory, pMemory); pStubMsg->Buffer += 4; @@ -1552,6 +1554,7 @@ unsigned char * WINAPI ComplexBufferSize(PMIDL_STUB_MESSAGE pStubMsg, break; case RPC_FC_LONG: case RPC_FC_ULONG: + case RPC_FC_ENUM32: pStubMsg->BufferLength += 4; pMemory += 4; break; @@ -1605,6 +1608,7 @@ unsigned char * WINAPI ComplexFree(PMIDL_STUB_MESSAGE pStubMsg, break; case RPC_FC_LONG: case RPC_FC_ULONG: + case RPC_FC_ENUM32: pMemory += 4; break; case RPC_FC_POINTER: diff --git a/reactos/lib/rpcrt4/ndr_midl.c b/reactos/lib/rpcrt4/ndr_midl.c index 47af519df5f..d7e74709ce4 100644 --- a/reactos/lib/rpcrt4/ndr_midl.c +++ b/reactos/lib/rpcrt4/ndr_midl.c @@ -308,3 +308,13 @@ RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus( PMIDL_STUB_MESSAGE pStubMsg, return RPC_S_OK; } + +/************************************************************************ + * NdrStubForwardingFunction [RPCRT4.@] + */ +void __RPC_STUB NdrStubForwardingFunction( IRpcStubBuffer *This, IRpcChannelBuffer *pChannel, + PRPC_MESSAGE pMsg, DWORD *pdwStubPhase ) +{ + FIXME("Not implemented\n"); + return; +} diff --git a/reactos/lib/rpcrt4/rpcrt4.spec b/reactos/lib/rpcrt4/rpcrt4.spec index 97c7609ac16..11750679766 100644 --- a/reactos/lib/rpcrt4/rpcrt4.spec +++ b/reactos/lib/rpcrt4/rpcrt4.spec @@ -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