我正在尝试在托管(C#)和非托管(C++ Win32)代码之间来回移动数据.我可以使用Marshal.Copy它,它可以正常工作,直到数据集变大> 2GB,Marshal.Copy因为长度的签名32位int(2GB)限制.
Marshal.Copy
知道怎么解决这个问题吗?目前我AllocHGlobal(IntPtr)在托管端和.ToPointer()非托管端使用.如果我不能使用Marshal.Copy来回移动大数据(> 2GB)我可以使用什么?
AllocHGlobal(IntPtr)
.ToPointer()
c# interop c#-4.0
c# ×1
c#-4.0 ×1
interop ×1