.NET - 从特定段复制数据:offset

时间:2011-02-12 19:06:51

标签: c# .net memory interop

参考这个主题:Access memory address in c#,我试图了解如何通过知道其十六进制段:offset来寻址内存位置并提取数据。另外,我相信尺寸可以变化。关于继续这一点,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

好吧,如果你想要麻烦......

        int bufSize = 12;

        IntPtr ptr = (IntPtr) (0xffff *16U + 5);                  

        byte[] data = new byte[bufSize];
        Marshal.Copy(ptr, data, 0, bufSize);

答案 1 :(得分:1)

托管应用程序在具有线性地址空间的平台上运行。没有段,没有偏移。只有地址,您可以通过Marshal.Copy在任何地址进行读写。