Until recently I thought that marshalling an IntPtr in P/Invoke would just involve a 'blitting' operation; i.e. simply copying the pointer from e.g. C++ to C#.
However I was talking to someone recently that mentioned there was more to it than that. He specifically mentioned that the IntPtr marshalling takes in to account byte order (i.e. little-endian or big-endian). That seems strange to me though: Surely the byte order wouldn't matter unless we were sending the pointer over to another machine, and god knows why you'd do that?
Can anyone here shed a little more light on this for me; and possibly link to some resource for further reading? Thank you.