码迷,mamicode.com
首页 > 其他好文 > 详细

指针偏移

时间:2019-12-11 15:55:00      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:分配   ntp   ptr   object   ctp   int   oba   span   rsh   

        public static void PtrMoveSize(ref IntPtr pData, int nLength)
        {
            if (IntPtr.Size == sizeof(Int64))
                pData = new IntPtr(pData.ToInt64() + nLength);
            else
                pData = new IntPtr(pData.ToInt32() + nLength);
        }
        //结构体转指针
        public static IntPtr StructToIntPtr(Object obj1)
        {
            //得到结构体的大小
            int size = Marshal.SizeOf(obj1);
            //分配结构体大小的内存空间
            IntPtr structPtr = Marshal.AllocHGlobal(size);
            Marshal.StructureToPtr(obj1, structPtr, false);
            return structPtr;
        }
        public static IntPtr IntPtrToIntPtr(IntPtr hwdn, int nSize)
        {
            //分配结构体大小的内存空间
            IntPtr structPtr = Marshal.AllocHGlobal(nSize);
            Marshal.StructureToPtr(hwdn, structPtr, false);
            return structPtr;
        }

指针偏移

标签:分配   ntp   ptr   object   ctp   int   oba   span   rsh   

原文地址:https://www.cnblogs.com/yc1224/p/12022949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!