hi,everyone
    I`m trying to dissect the MAPI(also called ExchangeRPC) PDUs and have 
encountered this problem,what is the order in which a RPC client or server 
transfers a remote procedure actual paramters into a network octets stream?
    
    As I known, a RPC request/response PDU consists of a common header,a PDU 
body and the other parts.The PDU body contains the input parameters  required 
by a RPC and maybe include some output parameters required by this Remote 
Procedure Call, but in which order , the rpc runtime transfers these parameters 
into a PDU body.
    
    For example, a remote procedure of EcDoRpcExt2 was declared in Exchange 
protocol specification as following:
    long __stdcall EcDoRpcExt2(
        [in,out,ref] CXH *pcxh,
        [in,out] unsigned long *pulFlags,
        [in,size_is(cbIn)],
        [in] unsigned long cbIn,
        [out,length_is(*pcbOut),size_is(*pcbOut)] unsigned char rgbOut[],
        [in,out] BIG_RANGE_ULONG *pcbOut,
        [in ,size_is(cbAuxIn)] unsigned char rgbAuxIn[],
        [in] unsigned long cbAuxIn,
        [out,length_is(*pcbAuxOut),size_is (*pcbAuxOut)] unsigned char 
rgbAuxOut[],
        [in,out] SMALL_RANGE_ULONG *pcbAuxOut,
        [out] unsigned long *pulTransTime
    )
    What`s the order, in which these parameters(now,i don`t ensure whether  out 
parameters are serialized into a request PDU body) are transfered into a 
request PDU body, isn`t the formal parameter declaration order ,the opposite 
order or the others?
    I have read the Transfer syntax NDR section in DCE-RPC[C706] specification, 
but I can't get the answer. 
    Who can help me? any reply is appreciated!
    Thanks very very much in advance!



Na [EMAIL PROTECTED]
2008-09-27 
_______________________________________________
Wireshark-dev mailing list
[email protected]
https://wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to