Module: wine Branch: refs/heads/master Commit: b96d630022dc78e9458588044dc7b5e39c71c1f2 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=b96d630022dc78e945858804...
Author: Robert Shearman rob@codeweavers.com Date: Mon May 15 13:34:58 2006 +0100
rpcrt4: Implement NdrSimpleStructMemorySize.
---
dlls/rpcrt4/ndr_marshall.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c index 48ec0b6..aaba7cc 100644 --- a/dlls/rpcrt4/ndr_marshall.c +++ b/dlls/rpcrt4/ndr_marshall.c @@ -1491,11 +1491,17 @@ void WINAPI NdrSimpleStructBufferSize(PM unsigned long WINAPI NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat) { - /* unsigned size = *(LPWORD)(pFormat+2); */ - FIXME("(%p,%p): stub\n", pStubMsg, pFormat); + unsigned short size = *(LPWORD)(pFormat+2); + + TRACE("(%p,%p)\n", pStubMsg, pFormat); + + ALIGN_POINTER(pStubMsg->Buffer, pFormat[1] + 1); + pStubMsg->MemorySize += size; + pStubMsg->Buffer += size; + if (pFormat[0] != RPC_FC_STRUCT) EmbeddedPointerMemorySize(pStubMsg, pFormat+4); - return 0; + return size; }
/***********************************************************************