rpcrt4: Add comments explaining the arguments to EmbeddedPointerUnmarshall().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
60c06980cf
commit
c3db8982d4
|
@ -856,9 +856,9 @@ static void PointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
||||||
STD_OVERFLOW_CHECK(pStubMsg);
|
STD_OVERFLOW_CHECK(pStubMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/* pPointer is the pointer that we will unmarshal into; pSrcPointer is the
|
||||||
* PointerUnmarshall [internal]
|
* pointer to memory which we may attempt to reuse if non-NULL. Usually these
|
||||||
*/
|
* are the same; for the case when they aren't, see EmbeddedPointerUnmarshall(). */
|
||||||
static void PointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
static void PointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
||||||
unsigned char *Buffer,
|
unsigned char *Buffer,
|
||||||
unsigned char **pPointer,
|
unsigned char **pPointer,
|
||||||
|
@ -1228,9 +1228,14 @@ static unsigned char * EmbeddedPointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/* rpcrt4 does something bizarre with embedded pointers: instead of copying the
|
||||||
* EmbeddedPointerUnmarshall
|
* struct/array/union from the buffer to memory and then unmarshalling pointers
|
||||||
*/
|
* into it, it unmarshals pointers into the buffer itself and then copies it to
|
||||||
|
* memory. However, it will still attempt to use a user-supplied pointer where
|
||||||
|
* appropriate (i.e. one on stack). Therefore we need to pass both pointers to
|
||||||
|
* this function and to PointerUnmarshall: the pointer (to the buffer) that we
|
||||||
|
* will actually unmarshal into (pDstBuffer), and the pointer (to memory) that
|
||||||
|
* we will attempt to use for storage if possible (pSrcMemoryPtrs). */
|
||||||
static unsigned char * EmbeddedPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
static unsigned char * EmbeddedPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,
|
||||||
unsigned char *pDstBuffer,
|
unsigned char *pDstBuffer,
|
||||||
unsigned char *pSrcMemoryPtrs,
|
unsigned char *pSrcMemoryPtrs,
|
||||||
|
|
Loading…
Reference in New Issue