rpcrt4: Implement NdrClientContext(Un)Marshall.

Saveliy Tretiakov saveliyt at mail.ru
Sat May 27 00:17:07 CDT 2006


NdrClientContext(Un)Marshall shuold add size of context handle to 
pStubMsg->Buffer and raise exceptions in some cases. 
NDRCContext(Un)marshall shouldn't, that's the difference. You can see 
this from my testcases (attached). And this was already implemented in 
my patch. I can't understand why are you trying to reimplement it.

Mike McCormack wrote:
> ---
>
>  dlls/rpcrt4/ndr_marshall.c |   11 +++++++++--
>  1 files changed, 9 insertions(+), 2 deletions(-)
>
> ------------------------------------------------------------------------
>
> e834795f1d24b26411d76ba725975216867ae58e
> diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c
> index 06ce04a..edd1eb2 100644
> --- a/dlls/rpcrt4/ndr_marshall.c
> +++ b/dlls/rpcrt4/ndr_marshall.c
> @@ -4296,7 +4296,10 @@ void WINAPI NdrClientContextMarshall(PMI
>                                       NDR_CCONTEXT ContextHandle,
>                                       int fCheck)
>  {
> -    FIXME("(%p, %p, %d): stub\n", pStubMsg, ContextHandle, fCheck);
> +    TRACE("(%p, %p, %d): stub\n", pStubMsg, ContextHandle, fCheck);
> +    /* FIXME: what does fCheck do? */
> +    return NDRCContextMarshall(ContextHandle,
> +                               pStubMsg->Buffer);
>  }
>  
>  /***********************************************************************
> @@ -4306,7 +4309,11 @@ void WINAPI NdrClientContextUnmarshall(P
>                                         NDR_CCONTEXT * pContextHandle,
>                                         RPC_BINDING_HANDLE BindHandle)
>  {
> -    FIXME("(%p, %p, %p): stub\n", pStubMsg, pContextHandle, BindHandle);
> +    TRACE("(%p, %p, %p): stub\n", pStubMsg, pContextHandle, BindHandle);
> +    return NDRCContextUnmarshall(pContextHandle,
> +                                 BindHandle,
> +                                 pStubMsg->Buffer,
> +                                 pStubMsg->RpcMsg->DataRepresentation);
>  }
>  
>  void WINAPI NdrServerContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,
>
>   
> ------------------------------------------------------------------------
>
>
>   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: tests.zip
Type: application/octet-stream
Size: 9092 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20060527/a37d5b00/tests.obj


More information about the wine-devel mailing list