Module: wine Branch: refs/heads/master Commit: 03060551d6c720919656ab1aa8c80f784fc65f91 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=03060551d6c720919656ab1a...
Author: Robert Shearman rob@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; }