X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=docs%2Funmanaged-calls;h=7542623166bb74c22d1dd7e14bafcf13b229dafe;hb=83569e1ef07325ec30b00d3e2b955718f210e608;hp=005e2c662bcb886325c2928a6122de3afda7633a;hpb=8347ec0268b2e1f323d95e111eefcade0797fa26;p=mono.git diff --git a/docs/unmanaged-calls b/docs/unmanaged-calls index 005e2c662bc..7542623166b 100644 --- a/docs/unmanaged-calls +++ b/docs/unmanaged-calls @@ -1,3 +1,6 @@ +Author: Dietmar Maurer (dietmar@ximian.com) +(C) 2001 Ximian, Inc. + More about PInvoke and Internal calls ===================================== @@ -69,7 +72,7 @@ Invoking native (unmanaged) code has several implications: The easiest way to implement this is to always create a wrapper function for PInvoke calls, which takes care of argument marshalling and LMF save/restore. -3.) When/how does the runtime call unmanaged internal calls +4.) When/how does the runtime call unmanaged internal calls We don't need to convert any arguments, so we need only take care of the LMF structure. @@ -120,7 +123,7 @@ But this depends somehow on the calling conventions, and I don't know if that works on all plattforms? -4.) What is stored in the LMF +5.) What is stored in the LMF - all caller saved registers (since we can trust unmanaged code) - the instruction pointer of the last managed instruction