typedef struct{ songinfo songs[5]; int foundnum; }QUERYRESULT; typedef struct{ int id; int hits; char name[80]; float spos[5]; int sposnum; }songinfo;
c#
[StructLayout(LayoutKind.Sequential, Pack = 1)] public struct QueryResult { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] public SongInfo[] songs;//检索到的音频信息列表 public int foundnum; //检索到的音频数量 } [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct SongInfo { public int id; //该音频文件对应的id号 public int hits; //待检索音频与该音频对应的冲撞值 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] public string name; //音频对应的文件名 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] public float[] spos;//待检索音频数据在该音频中的起始时间 public int sposnum; //待检索音频数据在音频中的位置数量 }