Rob Shearman : rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2 if new correlation descriptors have been specified .

Alexandre Julliard julliard at winehq.org
Mon Jan 7 16:25:01 CST 2008


Module: wine
Branch: master
Commit: 807a203f7704028caeda48810e1755b8e4cd9519
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=807a203f7704028caeda48810e1755b8e4cd9519

Author: Rob Shearman <rob at codeweavers.com>
Date:   Mon Jan  7 15:20:25 2008 +0000

rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2 if new correlation descriptors have been specified.

---

 dlls/rpcrt4/ndr_stubless.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c
index 5c90aa0..fb76a2f 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)




More information about the wine-cvs mailing list