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

📄 export.h

📁 对于银行卡卡的读取控制
💻 H
字号:
#define IN #define OUT#define CRTYPE_MAGNETIC			1#define CRTYPE_IC				2#define CRTYPE_MEMORY			4#define CRTYPE_OTHER			8#define CRTRACK1				6//1	//对磁条卡的第一磁道操作 0-2  1-3 2-2/3#define CRTRACK2				0//2	//对磁条卡的第二磁道操作#define CRTRACK3				1//4	//对磁条卡的第三磁道操作#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 tagCR_EXTCAPS{ULONG	cbSize;		//本结构的大小USHORT  usType;	    //支持的卡类型,可以是CRTYPE_MAGNETIC| CRTYPE_IC| CRTYPE_MEMORYUSHORT	bAutoInput:1;		//自动进卡USHORT	bAutoOutput:1;		//自动出卡USHORT	bSwallow:1;			//支持吞卡USHORT	ulReserver:13;		//预留}CR_EXTCAPS , *PCR_EXTCAPS;typedef struct tagDEVICEDESC{ULONG cbSize;USHORT usVendorID;USHORT usProductID;ULONG szDeviceID;TCHAR szDevice[32];TCHAR szDeivceName[32];TCHAR szManufacturer[32];ULONG cbExtSize;TCHAR pExtInfo[4];}DEVICEDESC,*PDEVICEDESC;//说明://该结构描述读卡器的特性,通常用于设备性能查询,在调用GetDeviceCaps时,只要缓冲区足够,该结构会被填充到DEVICECAPS结构中pExtInfo开始的缓冲区。/*extern "C" __declspec(dllexport) LRESULT  crOpenPort(LPCTSTR lpszPortName);extern "C" __declspec(dllexport) LRESULT  crClosePort();*/extern "C" __declspec( dllexport) LRESULT	crInitialize();extern "C" __declspec( dllexport) LRESULT	crControl(IN USHORT uControlCode);extern "C" __declspec( dllexport) LRESULT	crCheckCard (IN ULONG ulCardType);extern "C" __declspec( dllexport) LRESULT	crRead (IN ULONG ulSegIndex,                                        IN ULONG ulOffset ,                                        IN ULONG ulSize ,                                        OUT PUCHAR pDataBuffer,                                        OUT PULONG pulReadSize);extern "C" __declspec( dllexport) LRESULT	crWrite (IN ULONG ulSegIndex ,                                     IN ULONG ulOffset ,                                    IN ULONG ulSize ,                                        IN PUCHAR pDataBuffer,                                     OUT PULONG pulWriteSize);extern "C" __declspec(dllexport) LRESULT   crGetStatus();extern "C" __declspec(dllexport) LRESULT   crUnInit();extern "C" __declspec(dllexport) LRESULT   GetDeviceDesc(OUT PDEVICEDESC pDeviceDesc);




LRESULT  InTakeCard();
LRESULT  TakeOutCard();
LRESULT  SwallowCard();
LRESULT  PermitIn();
LRESULT  UnPermitIn();
LRESULT  WriteTrack1(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,int writesize);
LRESULT  WriteTrack2(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,int writesize);
LRESULT  WriteTrack3(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,int writesize);

//DWORD ReadTrack1(ULONG i_Size, PUCHAR p_RecvBuffer,PULONG i_RealSize);
//DWORD ReadTrack2(ULONG i_Size, PUCHAR p_RecvBuffer,PULONG i_RealSize);
//DWORD ReadTrack3(ULONG i_Size, PUCHAR p_RecvBuffer,PULONG i_RealSize);
LRESULT  ReadTrack1(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize);
LRESULT  ReadTrack2(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize);
LRESULT  ReadTrack3(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize);
int mySendCommand(int type, char * cmd, int length);








⌨️ 快捷键说明

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