IntPtr in 32 Bit OS, UInt64 in 64 bit OS
- by Ngu Soon Hui
I'm trying to do an interop to a C++ structure from C#. The structure ( in C# wrapper) is something like this
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct SENSE4_CONTEXT
{
public System.IntPtr dwIndex; //or UInt64, depending on platform.
}
The underlying C++ structure is a bit abnormal. In 32 bit OS, dwIndex must be IntPtr in order for the interop to work, but in 64 bit OS, it must be UInt64 in order for the interop to work.
Any idea how to modify the above structure to make it work on both 32 and 64 bit OS?