コード例 #1
0
        public static IntPtr PtrFromBytes(byte[] bytes, int offset)
        {
            if (bytes == null)
            {
                return(IntPtr.Zero);
            }
            int len = bytes.Length - offset;

            return(MemUtils.PtrFromBytes(bytes, offset, len));
        }
コード例 #2
0
 public static string StringFromUtf8Ptr(IntPtr ptr, out int len)
 {
     len = 0;
     if (ptr == IntPtr.Zero)
     {
         return(null);
     }
     len = MemUtils.StringPtrByteLen(ptr);
     if (len == 0)
     {
         return(null);
     }
     byte[] array = new byte[len];
     Marshal.Copy(ptr, array, 0, len);
     return(Encoding.UTF8.GetString(array));
 }
コード例 #3
0
 public static T StructFromBytes <T>(byte[] bytes)
 {
     return(MemUtils.StructFromBytes <T>(bytes, 0));
 }
コード例 #4
0
 public static IntPtr PtrFromBytes(byte[] bytes)
 {
     return(MemUtils.PtrFromBytes(bytes, 0));
 }
コード例 #5
0
        public static string StringFromUtf8Ptr(IntPtr ptr)
        {
            int num;

            return(MemUtils.StringFromUtf8Ptr(ptr, out num));
        }