rpcrt4: Retrieve the stack argument pointer in a more portable way in NdrMesProcEncodeDecode.
This commit is contained in:
parent
06f3b94584
commit
0abc475365
|
@ -332,6 +332,7 @@ void WINAPIV NdrMesProcEncodeDecode(handle_t Handle, const MIDL_STUB_DESC * pStu
|
||||||
/* the value to return to the client from the remote procedure */
|
/* the value to return to the client from the remote procedure */
|
||||||
LONG_PTR RetVal = 0;
|
LONG_PTR RetVal = 0;
|
||||||
const RPC_CLIENT_INTERFACE *client_interface;
|
const RPC_CLIENT_INTERFACE *client_interface;
|
||||||
|
__ms_va_list args;
|
||||||
|
|
||||||
TRACE("Handle %p, pStubDesc %p, pFormat %p, ...\n", Handle, pStubDesc, pFormat);
|
TRACE("Handle %p, pStubDesc %p, pFormat %p, ...\n", Handle, pStubDesc, pFormat);
|
||||||
|
|
||||||
|
@ -396,11 +397,9 @@ void WINAPIV NdrMesProcEncodeDecode(handle_t Handle, const MIDL_STUB_DESC * pStu
|
||||||
TRACE("MIDL stub version = 0x%x\n", pStubDesc->MIDLVersion);
|
TRACE("MIDL stub version = 0x%x\n", pStubDesc->MIDLVersion);
|
||||||
|
|
||||||
/* needed for conformance of top-level objects */
|
/* needed for conformance of top-level objects */
|
||||||
#ifdef __i386__
|
__ms_va_start( args, pFormat );
|
||||||
pEsMsg->StubMsg.StackTop = *(unsigned char **)(&pFormat+1);
|
pEsMsg->StubMsg.StackTop = va_arg( args, unsigned char * );
|
||||||
#else
|
__ms_va_end( args );
|
||||||
# warning Stack not retrieved for your CPU architecture
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (pEsMsg->Operation)
|
switch (pEsMsg->Operation)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue