// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include "DongleChecker.h"
#include "CheckSuperDongle.h"
#include "ResDataObject.h"
#include "common_api.h"
CCheckSuperDongle checker;
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
bool DongleCheck(const char* code)
{
return checker.CheckFunction(atoi(code));
}
///
/// 驱动启动验证
///
/// 驱动的xml文件的名称
/// true: 可以正常启动;false 不能启动
bool DongleCheckDriverStart(const char* xmlFileName)
{
ResDataObject resXml;
try
{
resXml.loadFile(xmlFileName);
string major = (const char*)resXml["CONFIGURATION"]["MajorID"];
string vendor = (const char*)resXml["CONFIGURATION"]["VendorID"];
string product = (const char*)resXml["CONFIGURATION"]["ProductID"];
string moda,madolity = (const char*)resXml["CONFIGURATION"]["MinorID"];
ResDataObject resDriverAll;
string sysconf = GetProcessDirectory() + "/srvconf.json";
resDriverAll.loadFile(sysconf.c_str());
std::transform(madolity.begin(), madolity.end(), moda.begin(), ::toupper);
string confCheck = vendor + "_" + product;
if (major == "Camera")
{
//摄像头或者超声探头
if (moda == "US")
{
if (checker.CheckFunction(1180))
{
}
}
else if (moda == "DME")
{
}
}
else if (major == "Detector")
{
//平板探测器
if (moda == "DR")
{
}
else if (moda == "DF")
{
}
}
}
catch (...)
{
return false;
}
return true;
}
///
/// 检查驱动是否可以安装
///
/// 设备的安装的设备路径 CCOS/DEVICE/Detector/CareRay/1800RF
/// true: 可以正常安装;false 不能安装
bool DongleCheckDriverInstall(const char* szDevPath)
{
return true;
}