📄 deviceinfo.cpp
字号:
/*********************************************************************
* Designed by xiaohuiyang 2002.03.15 E-mail: yxh2001@21cn.com *
*********************************************************************/
// DeviceInfo.cpp: implementation of the CDeviceInfo class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "DeviceInfo.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern void TraceDebug(char *pchData, int len);
CDeviceInfo::CDeviceInfo()
{
InitingKDE = 0;
}
CDeviceInfo::~CDeviceInfo()
{
InitingKDE = 0;
}
short CDeviceInfo::CheckKD6006(char TrackMode)
{
short ret;
static char ClrBuf = 0;
ret = KD6006.zWaitReadTrack(TrackMode);
if(ret == _OK_RCV)
{
strcpy(chTrack2, KD6006.Track2);
strcpy(chTrack3, KD6006.Track3);
mDeviceType = _DEV_KD6006_OK;
}
else if(ret != _NO_DATA)
{
mDeviceType = _DEV_KD6006_ERR;
}
if(ret != _OK_RCV)
{
ClrBuf = 1;
if(ClrBuf)
{
memset(chTrack2, '\0', 256);
memset(chTrack3, '\0', 256);
ClrBuf = 0;
}
}
return ret;
}
short CDeviceInfo::InitKDE4787()
{
short ret;
static keep = 0;
char KDEInfo[50];
ret = kde4787.gOpenKDMCom();
memset(KDEInfo, '\0', 50);
sprintf(KDEInfo, "Open KDE COM ret=%d", ret);
TraceDebug(KDEInfo, 0);
if(ret == _NO_DEVICE)
{
return ret;
}
else if(ret)
{
return ret; //_ERR_KDE;
}
if(InitingKDE)
{
return _DEV_OK;
}
ret = kde4787.KDM_Initial();
if(ret < _DEV_OK)
{
TraceDebug("KDM initial fail!", 0);
return ret; //_ERR_KDE;
}
TraceDebug("KDM initial OK!", 0);
InitingKDE = 1;
return _DEV_OK;
}
short CDeviceInfo::CheckKDE4787()
{
short ret = -1;
char Trk1[256];
ret = kde4787.MagneticRead123(0, Trk1, chTrack2, chTrack3);
if(ret == _DEV_OK)
mDeviceType = _DEV_KDE4787_OK;
else
{
mDeviceType = _DEV_KDE4787_ERR;
memset(chTrack2, '\0', 256);
memset(chTrack3, '\0', 256);
}
return ret;
}
short CDeviceInfo::CheckICKDE4787()
{
short ret, ret1 = -1;
char ATR[128];
memset(ATR, '\0', 128);
ret = kde4787.KDMStatusRequest();
if(ret == _KDE_CARD_INSIDE)
{
ret1 = kde4787.IcCardPower(1, ATR);
if(ret1 >= _DEV_OK)
mDeviceType = _DEV_KDE4787_OK;
}
else if(ret == _KDE_CARD_ATGATE)
{
ret1 = kde4787.KDM_EntryCard(2);
if(ret1 == _KDE_CARD_INSIDE)
{
ret1 = kde4787.IcCardPower(1, ATR);
if(ret1 >= _DEV_OK)
{
mDeviceType = _DEV_KDE4787_OK;
}
}
}
else
{
mDeviceType = _DEV_KDE4787_ERR;
}
return ret;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -