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

问题描述

有没有精通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}

时间: 2024-09-12 21:43:43

C#调用C++的DLL接口问题。的相关文章

C#调用PB 的dll接口问题 急~~~~~~~~~~~~~接口

问题描述 C#调用PB 的dll接口问题 急~~~~~~~~~~~~~接口 这边有个PB写的gzyblocalcom.dll文件 在C#中调用, 接口开发商 说这个是PB 的dll 是COM组件接口,但是我在C#引用中COMTab页中找不到但是在浏览中能够找到并且添加引用,能够调用方法 yh_ybfw(string a,string b,ref string c ,ref short d ,ref string e):但是出错 提示 无效的字符转换 , using gzyblocalcom; g

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

问题描述 有没有精通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_TI

stringbuilder-C#中调用C++Dll接口,字符串编码问题

问题描述 C#中调用C++Dll接口,字符串编码问题 在C#中调用C++Dll接口,接口返回一个多字节字符串,然后再C#中再次转码为宽字节字符串. 字符串内容都为汉字. **_问题: 如果汉字为偶数个,则一切正常: 如果汉字为奇数个,则C#获得的多字节字符串内容的最后一个字节被篡改成'?'的ascll码.(多字节编码时,每个汉字占三个字节) 本人没多少币,全部家当拿出来了,求大神指点.**_ C++代码: // 宽字节转多字节 __declspec(dllexport) void TCharTo

有关VB6.0语言调用DLL接口的问题

问题描述 有关VB6.0语言调用DLL接口的问题 VB语言定义的Type是不是就是C++的结构体,如何获取Type中的内存分配指针呢? 解决方案 http://blog.csdn.net/sjrhero/article/details/6732068 解决方案二: VB6.0调用WEBService问题VB6.0调用WEBService问题

c++-【下跪】PB调用C的DLL报错

问题描述 [下跪]PB调用C的DLL报错 一下是文档中的结构体: typedef struct{byte Track2[37]; /*二磁道信息 ,asc格式 最长37个字节 */byte Track3[104]; /*三磁道信息 asc 格式 最长 104个字节*/byte Pwd[8]; /*加密后的密码 8个字节 */byte Amount[12]; /* 金额, 分为单位000000000001 代表1分不允许0金额积分兑奖时为积分*/byte Trace[6]; /* 终端流水,不是动

dll c#-c#调用c++的dll出现尝试读取或写入受保护的内存问题

问题描述 c#调用c++的dll出现尝试读取或写入受保护的内存问题 使用c#调用c++的一个dll.c++的接口函数为: extern "C" __declspec(dllexport)bool __stdcall CreateDetmObject(IDetManager **ppDetManager); 参数IDetManager为一个结构体: struct IDetManager { virtual void __stdcall SetListener(HWND hWnd) = 0

jna java c++ dll-最近用JNA技术,实现java调用C++的DLL,如何用java模拟c++的链表结构体。

问题描述 最近用JNA技术,实现java调用C++的DLL,如何用java模拟c++的链表结构体. C++结构体 struct CUser_DataStruct { char pKKSCoding[128]; //标签点Kks编码 DWORD time; //UTC时间 WORD millisecond; //毫秒 int nDataState; //数据状态 double dValue; //数值 CUser_DataStruct* pNext; //指向下一个数据节点的指针 }; C++的入

javaweb-java视频监控,java怎么操控摄像头,怎么调用厂家的dll

问题描述 java视频监控,java怎么操控摄像头,怎么调用厂家的dll 最近遇到一个项目,有视频监控部分,以前没有接触过摄像头,请问java该如何控制摄像头的行为呢,还有上传和下载摄像头的视频信息到页面上,请大神前辈们指教 解决方案 想问下各位 怎么编写android手机上的应用去取得网络摄像头的资源来呢?我现在遇到的问题就是自己写了一个应用 但是不能够获得网络摄像机的数据 用他自己带的软件是可以的 它是通过登陆摄像头ID然后就可以了,我的为什么不行呢,是不是需要验证呢(用浏览器ip方式登陆摄

请教:关于从C#调用外部C++ DLL出错,二维指针参数不匹配

问题描述 请教:关于从C#调用外部C++ DLL出错,二维指针参数不匹配 我是新人,头一次发帖,如果这个问题太低级还请各位大神原谅! 我在写一段C#代码调用外部一个C++DLL,该DLL数据初始化部分接口是这样的: public unsafe void SetImage(ushort** slices, int xSize, int ySize, int zSize) 其中第2-4个参数分别是一个3维图像数据的长宽高,我们假定图像是512×512×400:而这个二维指针参数slices则是指向指