public struct MatMinu
{
public int MNO;
public int X;
public int Y;
public int D;
}
public struct MatPair
{
public MatMinu sminu;
public MatMinu fminu;
}
public struct MatAffin
{
public int x;
public int y;
public int d;
}
public enum MatCoreIndex
{
eMatCore_A = 0,
eMatCore_B = 1,
eMatCore_C = 2,
eMatCore_D = 3,
eMatCore_Max = 4
}
public struct MatSubResult
{
public MatPair mat_chartinfo_a;
public MatPair mat_chartinfo_z;
public int mat_similitude;
public MatAffin mat_affinfactor;
public short mat_score;
public short mat_status;
}
public struct MatResult
{
public MatSubResult mat_res;
}
[DllImport("Match.dll", EntryPoint = "MatMatch1to1", SetLastError = true,
CharSet = CharSet.Unicode, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern short MatMatch1to1(
char* i_sbt,
char* i_fbt,
MatMode i_mat_mode,
out MatResult o_chart, //MatResult*
ref short o_score
);