博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#调用C++函数的注意事项
阅读量:5238 次
发布时间:2019-06-14

本文共 837 字,大约阅读时间需要 2 分钟。

最近在开发一个和硬件交互的客户端,开发包是C++写的,客户端要用C#来实现,在开发中遇到一些问题,特记录下来,让自己以后备查。

函数原型

 

1、函数名称:FPITemplate

2、函数原型

     int FPITemplage(int nPort,unsigned char *psMB,int *lpLength)

3、功能说明

    用户录入3次指纹,生成指纹模板并上传。

4、入口参数

    nPort:设备类型

5、出口参数

   psMB:指纹模板 需要分配513字节的缓冲区

   lpLength:指纹模板长度 512个字节

C#中定义和调用

 

定义DLL的函数

       

1         [DllImport("JZTDevDll.dll", EntryPoint = "FPITemplate")]2         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);             }

希望这个能帮助到园友,大家少走弯路。

转载于:https://www.cnblogs.com/3d-soft/archive/2013/05/20/3088358.html

你可能感兴趣的文章
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
PHP 导出 Excell
查看>>
Java基础教程——网络基础知识
查看>>
自己到底要的是什么
查看>>
Kruskal基础最小生成树
查看>>
ubuntu 14.04 安装搜狗拼音输入法
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>