⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 import.h

📁 对于银行卡卡的读取控制
💻 H
字号:



// for export.cpp 


#ifndef  CARDREADERDLL
#define CARDREADERDLL extern "C" __declspec(dllimport)
#endif

// 卡类型代码
#define		CRTYPE_MAGNETIC		1
#define		CRTYPE_IC			2		
#define		CRTYPE_MEMORY		4
#define		CRTYPE_OTHER		8


#define     CRTRACK1		//60
#define     CRTRACK2		0
#define     CRTRACK3		1

#define		CRBUFFER_MAX		65536

//#define		CRERROR_SWALLOW						0xE0020003
//#define		CRERROR_DEVICE_BUSY					0xE0020011

// 错误状态
#define		CRERROR_MECHANICAL						0xE0020001//机械故障
#define		CRERROR_CARDINPUT						0xE0020002//吞不进(指进卡的吞,还是后出卡的吞???)

#define		CRERROR_CARDOUTPUT						0xE0020003//吐不出
#define		CRERROR_INVALIDCARD						0xE0020004//无效卡
#define		CRERROR_READCARD							0xE0020005// 读卡错
#define		CRERROR_WRITECARD						0xE0020006//写卡错
#define		CRERROR_MEMORYLACK					0xE0020007//存储空间不足
#define		CRERROR_WRONGINDEX					0xE0020008//错误的信息条目索引值
#define		CRERROR_OVERAREA						0xE0020009//指定的存储位置不存在
#define     CRERROR_CREADTHREAD		0xE0020019// 创建线程错
#define		CRERROR_CONNECTDEVICE				0xE0020011// 设备联接错


#define		CRERROR_INIT							0xE0020012// 初始化错
#define		CRERROR_ENTRY_CARRY						0xE0020013// 进出卡错
#define		CRERROR_ENTRY_CARRY_NEGATIVEREPLY			0xE0020014// 进出否定响应
#define		CRERROR_READMAG						0xE0020015//读磁错
#define		CRERROR_READMAG_NEGATIVEREPLY		0xE0020016//读磁否定响应
#define		CRERROR_STATUS					0xE0020017//获取状态错
#define		CRERROR_STATUS_NEGATIVEREPLY		0xE0020018//获取状态否定响应

/*-------------------------------------------------------------------------*/



// 命令代码
#define		CRC_ENTRY							1	//0x80000001
#define		CRC_REMOVE							2	//0x80000002
#define		CRC_SWALLOW							3	//0x80000003
#define		CRC_ENABLE							4	//0x80000004
#define		CRC_DISABLE							5	//0x80000005


#define		CRERROR_INSIDE							0X90000002
#define		CRERROR_GATE							0X90000008
#define     CRERROR_EMPTY							0xE0020010//不存在

#define		CRERROR_UNSUPPORT					0xE002FFFF// 不支持的功能



typedef struct tagDEVICEDESC{
	ULONG cbSize;
	USHORT usVendorID;
	USHORT usProductID;
	ULONG szDeviceID;
	TCHAR szDevice[32];
	TCHAR szDeviceName[32];
	TCHAR szManufacturer[32];
	ULONG cbExtSize;
	TCHAR pExtInfo[4];

} DEVICEDESC,*PDEVICEDESC;

/*
// 成功信息
#define		TAKEIN_SUCCESS							// 进卡成功
#define		COMM_SUCCESS							0xE0020020//初始化成功

#define		CARD_INIT_SUCCESS						0x80000006// 有卡初始化成功
#define		NOCARD_INIT_SUCCESS						0x80000007// 无卡初始化成功
#define		CARD_INTAKE_SUCCESS						0x80000008// 进卡ok
#define		CARD_REINTAKE_SUCCESS					0x80000009//重进卡OK
#define		CARD_TAKEOUT_SUCCESS					0x80000010
#define		CARD_SWALLOW_SUCCESS					0x80000011
#define		CARD_PERMIT_IN							0x80000012
#define		CARD_UNPERMIT_IN						0x80000013

#define		WRITE_TRACK1_SUCCESS					0x80000014
#define		WRITE_TRACK1_FAIL						0x80000015
#define		WRITE_TRACK1_NOCARD_FAIL				0x80000016

#define		READ_TRACK1_SUCCESS						0x80000017
#define		READ_TRACK1_FAIL						0x80000018
#define		READ_TRACK1_NOCARD_FAIL					0x80000019
#define		READ_TRACK1_LACK_OFMEMORY				0x80000020

#define		WRITE_TRACK2_SUCCESS					0x80000021
#define		WRITE_TRACK2_FAIL						0x80000022
#define		WRITE_TRACK2_NOCARD_FAIL				0x80000023

#define		READ_TRACK2_SUCCESS						0x80000024
#define		READ_TRACK2_FAIL						0x80000025
#define		READ_TRACK2_NOCARD_FAIL					0x80000026
#define		READ_TRACK2_LACK_OFMEMORY				0x80000027

#define		WRITE_TRACK3_SUCCESS					0x80000028
#define		WRITE_TRACK3_FAIL						0x80000029
#define		WRITE_TRACK3_NOCARD_FAIL				0x80000030

#define		READ_TRACK3_SUCCESS						0x80000031
#define		READ_TRACK3_FAIL						0x80000032
#define		READ_TRACK3_NOCARD_FAIL					0x80000033
#define		READ_TRACK3_LACK_OFMEMORY				0x80000034

  */


// 函数声明
/*
CARDREADERDLL  LRESULT WINAPI crClosePort();// no CMD for available use
*/
CARDREADERDLL  LRESULT  crInitialize();

CARDREADERDLL  LRESULT  crControl(IN USHORT uControlCode);
CARDREADERDLL  LRESULT  crCheckCard(IN ULONG ulCardType);
CARDREADERDLL  LRESULT 	crRead(IN ULONG ulSegIndex , IN ULONG ulOffset,IN ULONG  ulSize,OUT PUCHAR pDataBuffer,OUT int &ulReadSize);
CARDREADERDLL  LRESULT    crWrite(IN ULONG ulSegIndex,IN ULONG ulOffset , IN ULONG size, IN PUCHAR pDataBuffer,OUT int WriteSize);

CARDREADERDLL  LRESULT  crGetStatus();
CARDREADERDLL  LRESULT  crUnInit();

CARDREADERDLL  void  crSetCallBack();

CARDREADERDLL  LRESULT  GetDeviceDesc(OUT PDEVICEDESC pDeviceDesc);










⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -