#ifndef  _PROTOCOL_H_
#define _PROTOCOL_H_ ///////////////////错误返回码////////////////////
#define PS_OK 0x00 //执行成功
#define PS_COMM_ERR 0x01 //数据包接收错误
#define PS_NO_FINGER 0x02 //传感器上没有手指
#define PS_GET_IMG_ERR 0x03 //录取指纹图像失败
#define PS_FP_TOO_DRY 0x04 //指纹太淡
#define PS_FP_TOO_WET 0x05 //指纹太模糊
#define PS_FP_DISORDER 0x06 //指纹太乱
#define PS_LITTLE_FEATURE 0x07 //指纹特征点太少
#define PS_NOT_MATCH 0x08 //指纹不匹配
#define PS_NOT_SEARCHED 0x09 //没搜索到指纹
#define PS_MERGE_ERR 0x0a //特征合并失败
#define PS_ADDRESS_OVER 0x0b //地址号超出指纹范围
#define PS_READ_ERR 0x0c //从指纹库读取模块出错
#define PS_UP_TEMP_ERR 0x0d //上传特征失败
#define PS_RECV_ERR 0x0e //模块不能接收后续数据包
#define PS_UP_IMG_ERR 0x0f //上传图像失败
#define PS_DEL_TEMP_ERR 0x10 //删除模版失败
#define PS_CLEAR_TEMP_ERR 0x11 //清空指纹库失败
#define PS_SLEEP_ERR 0x12 //不能进入休眠
#define PS_INVALID_PASSWORD 0x13 //口令不正确
#define PS_RESET_ERR 0x14 //系统复位失败
#define PS_INVALID_IMAGE 0x15 //无效指纹图像
#define PS_HANGOVER_UNREMOVE 0X17 // #ifdef _OT_CPP_
extern "C"
{
#endif
//1
int WINAPI ZAZOpenDeviceEx(HANDLE* pHandle, int nDeviceType,int iCom,int iBaud,int nPackageSize/*=2*/,int iDevNum/*=0*/);
//2
int WINAPI ZAZCloseDeviceEx(HANDLE hHandle);
//3
int WINAPI ZAZVfyPwd(HANDLE hHandle,int nAddr,unsigned char* pPassword);
//4
int WINAPI ZAZGetImage(HANDLE hHandle,int nAddr);
//5
int WINAPI ZAZGenChar(HANDLE hHandle,int nAddr,int iBufferID);
//6
int WINAPI ZAZMatch(HANDLE hHandle,int nAddr,int* iScore);
//7
int WINAPI ZAZSearch(HANDLE hHandle,int nAddr,int iBufferID, int iStartPage,
int iPageNum, int *iMbAddress,int *iscore/*=NULL*/);
//8
int WINAPI ZAZHighSpeedSearch(HANDLE hHandle,int nAddr,int iBufferID,
int iStartPage, int iPageNum, int *iMbAddress,int *iscore/*=NULL*/);
//9
int WINAPI ZAZRegModule(HANDLE hHandle,int nAddr);
//10
int WINAPI ZAZStoreChar(HANDLE hHandle,int nAddr,int iBufferID, int iPageID);
//11
int WINAPI ZAZDelChar(HANDLE hHandle,int nAddr,int iStartPageID,int nDelPageNum);
//12
int WINAPI ZAZEmpty(HANDLE hHandle,int nAddr);
//13
int WINAPI ZAZReadParTable(HANDLE hHandle,int nAddr,unsigned char* pParTable);
//14
int WINAPI ZAZReadInfPage(HANDLE hHandle,int nAddr, unsigned char* pInf);
//15
int WINAPI ZAZTemplateNum(HANDLE hHandle,int nAddr,int *iMbNum);
//16
int WINAPI ZAZGetRandomData(HANDLE hHandle,int nAddr,unsigned char* pRandom);
//17
int WINAPI ZAZReadIndexTable(HANDLE hHandle,int nAddr,int nPage,unsigned char* UserContent);
//18
int WINAPI ZAZDoUserDefine(HANDLE hHandle,int nAddr,int GPIO,int STATE);
//19
int WINAPI ZAZSetledsound(HANDLE hHandle,int nAddr,unsigned char red, unsigned char green,
unsigned char sound, unsigned char moveflag,int timecount);
//20
int WINAPI ZAZSetCharLen( int nLen);
//21
int WINAPI ZAZGetCharLen(int *pnLen);
//22
int WINAPI ZAZLoadChar(HANDLE hHandle,int nAddr,int iBufferID,int iPageID);
//23
int WINAPI ZAZUpChar(HANDLE hHandle,int nAddr,int iBufferID, unsigned char* pTemplet, int* iTempletLength);
//24
int WINAPI ZAZDownChar(HANDLE hHandle,int nAddr,int iBufferID, unsigned char* pTemplet, int iTempletLength);
//25
int WINAPI ZAZSetIMGLen( int img_x,int img_y);
//26
int WINAPI ZAZGetIMGLen(int *img_x,int *img_y);
//27
int WINAPI ZAZUpImage(HANDLE hHandle,int nAddr,unsigned char* pImageData, int* iImageLength);
//28
int WINAPI ZAZDownImage(HANDLE hHandle,int nAddr,unsigned char *pImageData, int iLength);
//29
int WINAPI ZAZImgData2BMP(unsigned char* pImgData,const char* pImageFile);
//30
int WINAPI ZAZGetImgDataFromBMP(HANDLE hHandle,const char *pImageFile,unsigned char *pImageData,int *pnImageLen);
//31
int WINAPI ZAZReadInfo(HANDLE hHandle,int nAddr,int nPage,unsigned char* UserContent);
//32
int WINAPI ZAZWriteInfo(HANDLE hHandle,int nAddr,int nPage,unsigned char* UserContent);
//33
int WINAPI ZAZSetBaud(HANDLE hHandle,int nAddr,int nBaudNum);
//34
int WINAPI ZAZSetSecurLevel(HANDLE hHandle,int nAddr,int nLevel);
//35
int WINAPI ZAZSetPacketSize(HANDLE hHandle,int nAddr,int nSize);
//36
int WINAPI ZAZSetBLS(HANDLE hHandle,int nAddr,int nBaudNum,int nLevel,int nSize);
//37
int WINAPI ZAZWriteFile(unsigned char* pTemplate, int iTempletLength,const char* pFileName);
//38
int WINAPI ZAZReadFile(unsigned char* pTemplate, int iTempletLength,const char* pFileName);
//39
int WINAPI ZAZByteTOBase64(unsigned char* pInput, int inputLen,char * pOutput);
//40
int WINAPI ZAZBase64TOByte( char* pInput, int *inputLen,unsigned char * pOutput);
//41
int WINAPI ZAZByteToHexstr(unsigned char* pInput, int inputLen,char * pOutput);
//42
int WINAPI ZAZHexstrToByte(char *pInput, int *inputLen,unsigned char * pOutput);
//43
int WINAPI ZAZSetPwd(HANDLE hHandle,int nAddr,unsigned char* pPassword);
//44
int WINAPI ZAZBurnCode(HANDLE hHandle,int nAddr,int nType,unsigned char *pImageData, int iLength);
//45
int WINAPI ZAZClear5xxFLAG( HANDLE hHandle, int nAddr );
//46
int WINAPI ZAZShowFingerData(HWND hWnd,unsigned char *pFingerData);
//47
int WINAPI ZAZUpChar2File(HANDLE hHandle,int nAddr,int iBufferID, const char* pFileName);
//48
int WINAPI ZAZDownCharFromFile(HANDLE hHandle,int nAddr,int iBufferID, const char* pFileName);
//49
void WINAPI ZAZErr2Str(int nErrCode, char* g_sErrorString );
//CString WINAPI ZAZErr2Str(int nErrCode);
//50
int WINAPI ZAZColorBMP(const char *filedst,const char *BMPSRC, int DISPCOLOR); #ifdef _OT_CPP_
}
#endif #endif
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <Windows.h>
#include "Finger\Protocol.h"
#pragma comment(lib,"Finger/ZAZAPIt.lib")
using namespace std; int main()
{
HANDLE handle = NULL;
int nAddress = 0xffffffff;
int timeOut = 0;
int imgLen = 0;
unsigned char imgData[256 * 288];//256x288
//打开指纹设备
int ret = ZAZOpenDeviceEx(&handle,2,0,9600,2,0);
cout << "指纹模块打开结果:" << ret << endl;
if(ret != 0)
{
return 0;
}
ret = PS_NO_FINGER;
while (ret == PS_NO_FINGER)
{
//获取图像
ret = ZAZGetImage(handle, nAddress);
cout << "ZAZGetImage:" << ret << endl;
timeOut++;
if (timeOut > 100)
{
return 0;
//break;
}
}
//上传设备采集到的指纹数据
ret = ZAZUpImage(handle, nAddress, imgData, &imgLen);
cout << "ZAZUpImage:" << ret << endl;
//指纹数据转 BMP 格式保存
ret = ZAZImgData2BMP(imgData,"C:\\finger.bmp");
cout << "ZAZImgData2BMP:" << ret << endl;
//关闭设备
ret = ZAZCloseDeviceEx(handle);
cout << "ZAZCloseDeviceEx:" << ret << endl;
system("pause");
return 0;
}

最新文章

  1. 使用 jQuery &amp; CSS3 制作美丽的照片画廊
  2. 在GMIC听“移动互联网+医疗”的感受 2015-04-29
  3. 由React学习到Yeoman安装以及遇到的问题
  4. 我与solr(一)--solr的配置与安装
  5. web 模板 类似京东左侧的导航栏
  6. ipython notebook
  7. Android初步 简单demo
  8. Python新手学习基础之运算符——算术运算符
  9. cocos2d-x游戏开发 跑酷(四) 关联与物理世界
  10. Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
  11. 开源代码学习之Tinyhttpd
  12. 关于oracle数据库中获取版本号类数据最大值的sql
  13. 【软件构造】-&lt;笔记&gt;-浅谈java中类的初始化过程
  14. linux中文件多行合并为一行的例子
  15. Redis数据结构之sorted-set
  16. 对类型“Func&lt;,&gt;”的引用声称该类型是在“mscorlib”中定义的,但未能找到
  17. img2html实现将图片转换成网页
  18. How to Pronounce the Months of the Year
  19. 纯Css实现Div高度根据自适应宽度(百分比)调整
  20. Loadrunner 面试常见问题

热门文章

  1. tone()函数的有趣的使用案例
  2. springboot之fastjson
  3. Windows核心编程&amp;内核对象
  4. Android5.0新控件
  5. 浅谈python lambda
  6. python 将验证码保存到本地 读取 写入
  7. template()方法
  8. Chocolatey 和 Redis windows安装记录
  9. 给HttpClient添加Socks代理
  10. 使用Google Cloud Platform构建机器学习项目-宠物识别