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

📄 sce7100.c

📁 读卡器编程实例------Reader programming examples
💻 C
字号:
#include "LD_Reader.h"
#include "SCE7100.h"

long DllExport ReadMagCard(char hd_no, char* pszTrk2, char* pszTrk3, char* szDispBuf)
{
	short			sRet = 0;
	DevHandle		hMagHandle;
	unsigned char	ucStatus;
	ET_MAGCARD		stTrk2, stTrk3;
	
	szDispBuf[0] = 0;
	pszTrk2[0] = 0;
	pszTrk3[0] = 0;


	sRet = OpenMagcard(hd_no, EM_RECARD, 60, &hMagHandle, &ucStatus);
	if (sRet != SUCC)
	{
		GetErrorMessage(sRet, szDispBuf);
		sRet = CloseMagcard(hd_no, &hMagHandle, &ucStatus);
		return -1; 
	}

	if (ucStatus != EM_SUCCESS)
	{
		GetErrorMessage((short) ucStatus, szDispBuf);
		sRet = CloseMagcard(hd_no, &hMagHandle, &ucStatus);
		return -1; 
	}

	sRet = Recard(hd_no, hMagHandle, 2, EM_mag_DISMANUAL, &stTrk2, &stTrk3, &ucStatus);
	if (sRet != SUCC)
	{
		GetErrorMessage(sRet, szDispBuf);
		sRet = CloseMagcard(hd_no, &hMagHandle, &ucStatus);
		return -1;
	}

	if ((ucStatus != EM_SUCCESS) && (ucStatus != EM_mag_MANUAL))
	{
		GetErrorMessage((short) ucStatus, szDispBuf);
		sRet = CloseMagcard(hd_no, &hMagHandle, &ucStatus);
		return -1;
	}
	else
	{
		if (stTrk2.ucTrkFlag == 0)
		{
			strcpy(pszTrk2, stTrk2.ucTrkBuf);
		}
		if (stTrk3.ucTrkFlag == 0)
		{
			strcpy(pszTrk3, stTrk3.ucTrkBuf);
		}
	}

	sRet = CloseMagcard(hd_no, &hMagHandle, &ucStatus);

	return 0;
}

long DllExport ReadPinPad(unsigned char hd_no, char* pszCardNo, char* pszOutKey)
{
	short sRet;
	unsigned char ucRet, ucOutLen = 0;
	char szPortName[6];
	unsigned char szCardNo[9];

	memset(szCardNo, 0, sizeof(szCardNo));
	memset(szPortName, 0, sizeof(szPortName));
	sprintf(szPortName, "COM%d", hd_no);

	sRet = InitPad (szPortName);
	if (sRet != 0)
		return -1;

	
	asc_to_bcd1(szCardNo, pszCardNo, 16, 0);
	ucRet = EA_ucLoadCardNo(pszCardNo);
	if (ucRet != EM_pin_SUCCESS)
	{
		closecom(hd_no);
		return -1;
	}

	display_pad(hd_no, 1, "请输入密码:");
	display_pad(hd_no, 2, "");

	ucRet = EA_ucReadPinpadNew(0, EM_pin_KEYOFF, EM_pin_ENCRYPTON, &ucOutLen, pszOutKey);
	if (ucRet != EM_pin_SUCCESS)
	{
		reset_pinpad();
		closecom(hd_no);
		return -1;
	}

	reset_pinpad();
	closecom(hd_no);

	return 0;
}

⌨️ 快捷键说明

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