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?