From 807a203f7704028caeda48810e1755b8e4cd9519 Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Mon, 7 Jan 2008 15:20:25 +0000 Subject: [PATCH] rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2 if new correlation descriptors have been specified. --- dlls/rpcrt4/ndr_stubless.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c index 5c90aa0e012..fb76a2f025b 100644 --- a/dlls/rpcrt4/ndr_stubless.c +++ b/dlls/rpcrt4/ndr_stubless.c @@ -562,6 +562,8 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma /* the pointer to the object when in OLE mode */ void * This = NULL; PFORMAT_STRING pHandleFormat; + /* correlation cache */ + unsigned long NdrCorrCache[256]; TRACE("pStubDesc %p, pFormat %p, ...\n", pStubDesc, pFormat); @@ -663,8 +665,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma if (ext_flags.HasNewCorrDesc) { /* initialize extra correlation package */ - FIXME("new correlation description not implemented\n"); - stubMsg.fHasNewCorrDesc = TRUE; + NdrCorrelationInitialize(&stubMsg, NdrCorrCache, sizeof(NdrCorrCache), 0); } /* order of phases: @@ -744,7 +745,7 @@ LONG_PTR WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pForma if (ext_flags.HasNewCorrDesc) { /* free extra correlation package */ - /* NdrCorrelationFree(&stubMsg); */ + NdrCorrelationFree(&stubMsg); } if (Oif_flags.HasPipes)