c#调用C++SDK结构类型引用
方法引用:
[DllImport("DChiDV.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
public static extern int CXK_SetTime(ref DV_TM ptm);
在c#中引用的dll文件的方法中,如方法参数包含结构类型,需要另作定义说明。
[StructLayout(LayoutKind.Sequential)]
public struct DV_TM
{
public int tm_sec; /* 秒–取值区间为[0,59] */
public int tm_min; /* 分 - 取值区间为[0,59] */
public int tm_hour; /* 时 - 取值区间为[0,23] */
public int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
public int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
public int tm_year; /* 年份,其值等于实际年份如:2010 */
public int tm_wday; /* 星期–取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
public int tm_yday; /* 从每年的1月1日开始的天数–取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推, 可设置为0*/
public int tm_isdst; /* 可设置为0*/
}
注意:对于结构类型的参数,需要加上ref控制。