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);
    }