Last changed: shipr on StackOverflow-76.14.214.109
.
C# Definition:
struct COPYDATASTRUCT {
public int dwData;
public int cbData;
public IntPtr lpData;
}
VB Definition:
Structure COPYDATASTRUCT
Public dwData As Int32
Public cdData As Int32
Public lpData As IntPtr
End Structure
User-Defined Field Types:
None.
Notes:
dwData defined in winuser.h as ULONG_PTR. I define it as (int) but probably it must be IntPtr
Define dwData and cbData all as IntPtr if you want them working on a 64-bit architecture !!!
struct COPYDATASTRUCT {
public IntPtr dwData;
public IntPtr cbData;
public IntPtr lpData;
}
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.
1/13/2008 4:00:13 AM - Damon Carr-72.43.165.29
An IntPtr is a pointer to a memory location (unmanaged) that adapts to the platform it is running on (64-bit, etc.) UNLIKE a standard int/Integer. You should always use this type for unmanaged calls that require it, even though an int will appear to work on your development machine.