📄 export.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 + -