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)); }
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)); }
public static T StructFromBytes <T>(byte[] bytes) { return(MemUtils.StructFromBytes <T>(bytes, 0)); }
public static IntPtr PtrFromBytes(byte[] bytes) { return(MemUtils.PtrFromBytes(bytes, 0)); }
public static string StringFromUtf8Ptr(IntPtr ptr) { int num; return(MemUtils.StringFromUtf8Ptr(ptr, out num)); }