From 7f6058b7f6acb3106320d52c2e1109bab23c1b87 Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Mon, 19 Oct 2009 21:18:07 +0000 Subject: [PATCH] partial rpcrt4 sync to wine 1.1.31 svn path=/trunk/; revision=43626 --- reactos/dll/win32/rpcrt4/ndr_es.c | 12 ++++++++++++ reactos/dll/win32/rpcrt4/ndr_marshall.c | 13 +++++++------ reactos/dll/win32/rpcrt4/rpcrt4.spec | 4 ++-- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/ndr_es.c b/reactos/dll/win32/rpcrt4/ndr_es.c index dc50ad8b025..52200dc3e3e 100644 --- a/reactos/dll/win32/rpcrt4/ndr_es.c +++ b/reactos/dll/win32/rpcrt4/ndr_es.c @@ -439,3 +439,15 @@ void WINAPIV NdrMesProcEncodeDecode(handle_t Handle, const MIDL_STUB_DESC * pStu if (pProcHeader->Oi_flags & RPC_FC_PROC_OIF_FULLPTR) NdrFullPointerXlatFree(pEsMsg->StubMsg.FullPtrXlatTables); } + +void RPC_ENTRY NdrMesTypeDecode2(handle_t Handle, const MIDL_TYPE_PICKLING_INFO *pPicklingInfo, + const MIDL_STUB_DESC *pStubDesc, PFORMAT_STRING pFormatString, void *pObject) +{ + FIXME("(%p, %p, %p, %p, %p)\n", Handle, pPicklingInfo, pStubDesc, pFormatString, pObject); +} + +void RPC_ENTRY NdrMesTypeFree2(handle_t Handle, const MIDL_TYPE_PICKLING_INFO *pPicklingInfo, + const MIDL_STUB_DESC *pStubDesc, PFORMAT_STRING pFormatString, void *pObject) +{ + FIXME("(%p, %p, %p, %p, %p)\n", Handle, pPicklingInfo, pStubDesc, pFormatString, pObject); +} diff --git a/reactos/dll/win32/rpcrt4/ndr_marshall.c b/reactos/dll/win32/rpcrt4/ndr_marshall.c index 9846d9e2e7b..d1b57fd187a 100644 --- a/reactos/dll/win32/rpcrt4/ndr_marshall.c +++ b/reactos/dll/win32/rpcrt4/ndr_marshall.c @@ -32,6 +32,7 @@ #include #include +#define NONAMELESSUNION #include "windef.h" #include "winbase.h" #include "winerror.h" @@ -4379,15 +4380,15 @@ RPC_STATUS RPC_ENTRY NdrGetUserMarshalInfo(ULONG *flags, ULONG level, NDR_USER_M if (level != 1) return RPC_S_INVALID_ARG; - memset(&umi->Level1, 0, sizeof(umi->Level1)); + memset(&umi->u1.Level1, 0, sizeof(umi->u1.Level1)); umi->InformationLevel = level; if (umcb->Signature != USER_MARSHAL_CB_SIGNATURE) return RPC_S_INVALID_ARG; - umi->Level1.pfnAllocate = umcb->pStubMsg->pfnAllocate; - umi->Level1.pfnFree = umcb->pStubMsg->pfnFree; - umi->Level1.pRpcChannelBuffer = umcb->pStubMsg->pRpcChannelBuffer; + umi->u1.Level1.pfnAllocate = umcb->pStubMsg->pfnAllocate; + umi->u1.Level1.pfnFree = umcb->pStubMsg->pfnFree; + umi->u1.Level1.pRpcChannelBuffer = umcb->pStubMsg->pRpcChannelBuffer; switch (umcb->CBType) { @@ -4403,8 +4404,8 @@ RPC_STATUS RPC_ENTRY NdrGetUserMarshalInfo(ULONG *flags, ULONG level, NDR_USER_M umcb->pStubMsg->Buffer > buffer_end) return ERROR_INVALID_USER_BUFFER; - umi->Level1.Buffer = umcb->pStubMsg->Buffer; - umi->Level1.BufferSize = buffer_end - umcb->pStubMsg->Buffer; + umi->u1.Level1.Buffer = umcb->pStubMsg->Buffer; + umi->u1.Level1.BufferSize = buffer_end - umcb->pStubMsg->Buffer; break; } case USER_MARSHAL_CB_BUFFER_SIZE: diff --git a/reactos/dll/win32/rpcrt4/rpcrt4.spec b/reactos/dll/win32/rpcrt4/rpcrt4.spec index 56a55f6ed20..4550889f62a 100644 --- a/reactos/dll/win32/rpcrt4/rpcrt4.spec +++ b/reactos/dll/win32/rpcrt4/rpcrt4.spec @@ -224,11 +224,11 @@ @ stub NdrMesSimpleTypeEncode @ stub NdrMesTypeAlignSize2 @ stub NdrMesTypeAlignSize -@ stub NdrMesTypeDecode2 +@ stdcall NdrMesTypeDecode2(ptr ptr ptr ptr ptr) @ stub NdrMesTypeDecode @ stub NdrMesTypeEncode2 @ stub NdrMesTypeEncode -@ stub NdrMesTypeFree2 +@ stdcall NdrMesTypeFree2(ptr ptr ptr ptr ptr) @ stdcall NdrNonConformantStringBufferSize(ptr ptr ptr) @ stdcall NdrNonConformantStringMarshall(ptr ptr ptr) @ stdcall NdrNonConformantStringMemorySize(ptr ptr)