C#调用C++的DLL接口问题。

seaonce seaonce 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有没有精通C++和C#的大侠:


我想用C#调用C++的DLL的一个接口,但实在不会C++转C# 请教:


C++接口如下:

函数:
int32_t DPSDK_CALL_METHOD DPSDK_QueryAlarmInfo

( IN int32_t nPDLLHandle,

IN Alarm_Query_Info_t* pQuery,

INOUT Alarm_Info_t* pInfo,

IN int nFirstNum,

IN int nQueryCount,

IN int nTimeout = DPSDK_CORE_DEFAULT_TIMEOUT );

参数:
nPDLLHandle

[in] sdk实例句柄

pQuery

[in] 查询信息,参考表1

pInfo

[in,out] 报警信息,参考表4

nFirstNum

[in] 从第几个开始获取

nQueryCount

[in] 获取记录个数

nTimeout

[in] 超时,默认DPSDK_CORE_DEFAULT_TIMEOUT

对象如下:

typedef struct tagAlarmQueryInfo

{

char szCameraID[DPSDK_CORE_CHL_ID_LEN]; // 通道ID

uint64_t uStartTime; // 开始时间

uint64_t uEndTime; // 结束时间

dpsdk_alarm_dealwith_e nDealWith; // 报警处理类型,参考表2

dpsdk_alarm_type_e nAlarmType; // 报警类型,参考表3

}Alarm_Query_Info_t;

typedef struct tagAlarmInfo

{

IN uint32_t nCount; // 请求录像数

OUT uint32_t nRetCount; // 实际返回个数

OUT Single_Alarm_Info_t* pAlarmInfo; // 报警信息,参考表5

}Alarm_Info_t;

typedef struct tagSingleAlarmInfo

{

dpsdk_alarm_type_e nAlarmType; // 报警类型,参考表3

dpsdk_event_type_e nEventType; // 事件状态,参考表6

char szDevId[DPSDK_CORE_DEV_ID_LEN]; // 报警设备ID

uint32_t uChannel; // 报警通道

uint64_t uAlarmTime; // 报警时间

dpsdk_alarm_dealwith_e nDealWith; // 处理意见,参考表2

}Single_Alarm_Info_t;

请问C#调用这个接口该怎么写?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
seaonce
C# 111,128 成员 642,536 内容