// 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; }