public void createFromBuffer(byte[] byteBuffer, int size)
{
EnsurePeerCreated();
if (buffer != IntPtr.Zero)
{
Marshal.FreeHGlobal(buffer);
buffer = IntPtr.Zero;
}
buffer = Marshal.AllocHGlobal(size);
Marshal.Copy(byteBuffer, 0, buffer, size);
int code = NativeMethods.mamaMsg_createFromByteBuffer(ref nativeHandle, buffer, size);
CheckResultCode(code);
}