public int arwFindChessboardCorners(float[] corners, out int corner_count, byte[] imageBytes) { int ok; GCHandle handle1 = GCHandle.Alloc(corners, GCHandleType.Pinned); IntPtr address1 = handle1.AddrOfPinnedObject(); GCHandle handle2 = GCHandle.Alloc(imageBytes, GCHandleType.Pinned); IntPtr address2 = handle2.AddrOfPinnedObject(); ok = ARNativePlugin.arwFindChessboardCorners(address1, out corner_count, address2); handle1.Free(); handle2.Free(); return(ok); }