Copy data from from IntPtr to IntPtr

后端 未结 3 1605
广开言路
广开言路 2020-12-09 15:12

I have two IntPtr values pointing to some data areas of length bytes. length may have an order of magnitude of 200k to 400k.



        
3条回答
  •  一生所求
    2020-12-09 15:43

    You can P/Invoke into the appropiate C function. That is probably the easiest way of doing that. Example:

    class Program
    {
        [DllImport("kernel32.dll", EntryPoint = "CopyMemory", SetLastError = false)]
        public static extern void CopyMemory(IntPtr dest, IntPtr src, uint count);
    
        static void Main()
        {
            const int size = 200;
            IntPtr memorySource = Marshal.AllocHGlobal(size);
            IntPtr memoryTarget = Marshal.AllocHGlobal(size);
    
            CopyMemory(memoryTarget,memorySource,size);
        }
    }
    

提交回复
热议问题