问题描述
有没有精通C++和C#的大侠:我想用C#调用C++的DLL的一个接口,但实在不会C++转C#请教:C++接口如下:函数:int32_tDPSDK_CALL_METHODDPSDK_QueryAlarmInfo(INint32_tnPDLLHandle,INAlarm_Query_Info_t*pQuery,INOUTAlarm_Info_t*pInfo,INintnFirstNum,INintnQueryCount,INintnTimeout=DPSDK_CORE_DEFAULT_TIMEOUT);参数:nPDLLHandle[in]sdk实例句柄pQuery[in]查询信息,参考表1pInfo[in,out]报警信息,参考表4nFirstNum[in]从第几个开始获取nQueryCount[in]获取记录个数nTimeout[in]超时,默认DPSDK_CORE_DEFAULT_TIMEOUT对象如下:typedefstructtagAlarmQueryInfo{charszCameraID[DPSDK_CORE_CHL_ID_LEN];//通道IDuint64_tuStartTime;//开始时间uint64_tuEndTime;//结束时间dpsdk_alarm_dealwith_enDealWith;//报警处理类型,参考表2dpsdk_alarm_type_enAlarmType;//报警类型,参考表3}Alarm_Query_Info_t;typedefstructtagAlarmInfo{INuint32_tnCount;//请求录像数OUTuint32_tnRetCount;//实际返回个数OUTSingle_Alarm_Info_t*pAlarmInfo;//报警信息,参考表5}Alarm_Info_t;typedefstructtagSingleAlarmInfo{dpsdk_alarm_type_enAlarmType;//报警类型,参考表3dpsdk_event_type_enEventType;//事件状态,参考表6charszDevId[DPSDK_CORE_DEV_ID_LEN];//报警设备IDuint32_tuChannel;//报警通道uint64_tuAlarmTime;//报警时间dpsdk_alarm_dealwith_enDealWith;//处理意见,参考表2}Single_Alarm_Info_t;请问C#调用这个接口该怎么写?
解决方案
解决方案二:
静等专家
解决方案三:
有哪位大侠给翻译成C
解决方案四:
#publicexternintDPSDK_CALL_METHODDPSDK_QueryAlarmInfo(IntptrnPDLLHandle,refAlarm_Query_Info_tpQuery,refAlarm_Info_tpInfo,intnFirstNum,intnQueryCount,intnTimeout=DPSDK_CORE_DEFAULT_TIMEOUT);structAlarm_Query_Info_t{charszCameraID[DPSDK_CORE_CHL_ID_LEN];//通道IDInt64uStartTime;//开始时间Int64uEndTime;//结束时间dpsdk_alarm_dealwith_enDealWith;//报警处理类型,参考表2dpsdk_alarm_type_enAlarmType;//报警类型,参考表3}structAlarm_Info_t{intnCount;//请求录像数OUTintnRetCount;//实际返回个数,可能是refintrefSingle_Alarm_Info_tpAlarmInfo;//报警信息,参考表5}structSingle_Alarm_Info_t{dpsdk_alarm_type_enAlarmType;//报警类型,参考表3dpsdk_event_type_enEventType;//事件状态,参考表6charszDevId[DPSDK_CORE_DEV_ID_LEN];//报警设备IDintuChannel;//报警通道Int64uAlarmTime;//报警时间dpsdk_alarm_dealwith_enDealWith;//处理意见,参考表2}