C#调用C++函数的注意事项
2013-05-20 12:32
330 查看
最近在开发一个和硬件交互的客户端,开发包是C++写的,客户端要用C#来实现,在开发中遇到一些问题,特记录下来,让自己以后备查。
1、函数名称:FPITemplate
2、函数原型
int FPITemplage(int nPort,unsigned char *psMB,int *lpLength)
3、功能说明
用户录入3次指纹,生成指纹模板并上传。
4、入口参数
nPort:设备类型
5、出口参数
psMB:指纹模板 需要分配513字节的缓冲区
lpLength:指纹模板长度 512个字节
定义DLL的函数
在C#中进行调用
这样就可以取到指纹数据。
读取返回到的byte的指纹数据
希望这个能帮助到园友,大家少走弯路。
函数原型 |
2、函数原型
int FPITemplage(int nPort,unsigned char *psMB,int *lpLength)
3、功能说明
用户录入3次指纹,生成指纹模板并上传。
4、入口参数
nPort:设备类型
5、出口参数
psMB:指纹模板 需要分配513字节的缓冲区
lpLength:指纹模板长度 512个字节
[b]C#中定义和调用[/b] |
[DllImport("JZTDevDll.dll", EntryPoint = "FPITemplate")] public static extern int FPITemplate(int nPort,ref byte _psMB,ref int lpLength);
在C#中进行调用
byte[] _psMB = new byte[513]; int _lpLength = _psMB.Length - 1; int i = FPITemplate(FPIDevDetect(),ref _psMB[0],ref _lpLength);
这样就可以取到指纹数据。
读取返回到的byte的指纹数据
string FPI_Str = ""; if (i == 0) { FPI_Str = System.Text.Encoding.UTF8.GetString(_psMB); }
希望这个能帮助到园友,大家少走弯路。
相关文章推荐
- C#中调用C++写的DLL注意事项
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题(zz)
- iOS项目中调用C/C++库中的函数注意事项
- LLVM IR和C/C++函数相互调用时的注意事项
- C++调用C#生成的DLL实现及注意事项
- (学习笔记)C++编写dll C#调用注意事项
- 转(Dlite)LLVM IR和C/C++函数相互调用时的注意事项
- C# 调用带有复杂参数的C++ ,delphi dll 注意事项备注。(C++ dll 怎么回调C# 程序,参数怎么写?)
- 字段内存C#调用C++DLL注意事项
- iOS项目中调用C/C++库中的函数注意事项
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题
- .NET工程中以 C 和 C++ 两种方式编译时,函数调用注意事项
- C#线程相关知识点2(线程调用注意事项)
- C#调用Oracle存储过程注意事项
- C#调用C库的注意事项
- C#调用C++写的dll 函数传递参数问题,请有经验的人详细描述
- C#调用C++版本dll时的类型转换需要注意的问题小结
- 在c#里调用C++的dll时,需要注意的一些问题
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)