Beispiel #1
0
        /// <summary>
        /// CopyMemoryEx
        /// </summary>
        /// <param name="dest">DataGraphPackage</param>
        /// <param name="source">源数据缓存</param>
        /// <returns></returns>
        public unsafe static void CopyMemoryEx(ref DataGraphHeader dest, byte[] source, int SourceStart)
        {
            IntPtr dp;
            IntPtr sp;

            fixed(DataGraphHeader *ds = &dest)
            {
                fixed(byte *sr = &source[SourceStart])
                {
                    dp = (IntPtr)ds;
                    sp = (IntPtr)sr;
                    Kernel32.RtlCopyMemory(dp, sp, (uint)sizeof(DataGraphHeader));
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// CopyMemoryEx
        /// </summary>
        /// <param name="dest">目标缓存区</param>
        /// <param name="DestStart">目标缓存区中的开始位置</param>
        /// <param name="source">DataGraphPackage</param>
        /// <returns></returns>
        public unsafe static void CopyMemoryEx(byte[] dest, int DestStart, ref DataGraphHeader source)
        {
            IntPtr dp;
            IntPtr sp;

            fixed(byte *ds = &dest[DestStart])
            {
                fixed(DataGraphHeader *sr = &source)
                {
                    dp = (IntPtr)ds;
                    sp = (IntPtr)sr;
                    Kernel32.RtlCopyMemory(dp, sp, (uint)sizeof(DataGraphHeader));
                }
            }
        }
Beispiel #3
0
 /// <summary>
 /// CopyMemoryEx
 /// </summary>
 /// <param name="dest">DataGraphPackage</param>
 /// <param name="source">源数据缓存</param>
 /// <returns></returns>
 public unsafe static void CopyMemoryEx(ref DataGraphHeader dest, byte[] source)
 {
     CopyMemoryEx(ref dest, source, 0);
 }
Beispiel #4
0
 /// <summary>
 /// CopyMemoryEx
 /// </summary>
 /// <param name="dest">目标缓存区</param>
 /// <param name="source">DataGraphPackage</param>
 /// <returns></returns>
 public unsafe static void CopyMemoryEx(byte[] dest, ref DataGraphHeader source)
 {
     CopyMemoryEx(dest, 0, ref source);
 }