OK, I know that in C# long is simply a shortcut to int64. But I am looking to make an app that is COM visible. The other side of the application expects to see a type library with this kind of interface:
...
[id(0x60020002), propget]
HRESULT gParentWnd([out, retval] long* pRetVal);
[id(0x60020002), propput]
HRESULT gParentWnd([in] long pRetVal);
...
<This is the disassembled view of a type library which shows the interface method signatures>
The closest I can get in C# is this:
[id(0x60020002), propget]
HRESULT gParentWnd([out, retval] int64* pRetVal);
[id(0x60020002), propput]
HRESULT gParentWnd([in] int64 pRetVal);
See how the longs are no longer longs, they are int64. This is a problem on the other end where they are looking for signatures that contain the long data type. I can't seem to get VC# to output long as the data type. Anyone know of a workaround?