Robert Shearman : rpcrt4: Implement callback conformance.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 3 06:37:31 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 03060551d6c720919656ab1aa8c80f784fc65f91
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=03060551d6c720919656ab1aa8c80f784fc65f91

Author: Robert Shearman <rob at codeweavers.com>
Date:   Tue Jan  3 12:07:17 2006 +0100

rpcrt4: Implement callback conformance.

---

 dlls/rpcrt4/ndr_marshall.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c
index adf330f..af90ff3 100644
--- a/dlls/rpcrt4/ndr_marshall.c
+++ b/dlls/rpcrt4/ndr_marshall.c
@@ -375,9 +375,17 @@ PFORMAT_STRING ComputeConformanceOrVaria
     ptr = *(LPVOID*)ptr;
     break;
   case RPC_FC_CALLBACK:
+  {
+    unsigned char *old_stack_top = pStubMsg->StackTop;
+    pStubMsg->StackTop = ptr;
+
     /* ofs is index into StubDesc->apfnExprEval */
-    FIXME("handle callback\n");
+    TRACE("callback conformance into apfnExprEval[%d]\n", ofs);
+    pStubMsg->StubDesc->apfnExprEval[ofs](pStubMsg);
+
+    pStubMsg->StackTop = old_stack_top;
     goto finish_conf;
+  }
   default:
     break;
   }




More information about the wine-cvs mailing list