// 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 CARERAYRFDETECTOR_EXPORTS // 符号编译的。在使用此 DLL 的 // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将 // CARERAYRFDETECTOR_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的 // 符号视为是被导出的。 #pragma once #ifndef CARERAYRFDETECTOR_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "CARERAYRFDETECTORX64D.lib") #else #pragma comment(lib, "CARERAYRFDETECTORX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "CARERAYRFDETECTORD.lib") #else #pragma comment(lib, "CARERAYRFDETECTOR.lib") #endif #endif #endif #ifdef CARERAYRFDETECTOR_EXPORTS #define CARERAYRFDETECTOR_API __declspec(dllexport) #define CARERAYRFDETECTOR_C_API extern "C" __declspec(dllexport) #else #define CARERAYRFDETECTOR_API __declspec(dllimport) #define CARERAYRFDETECTOR_C_API extern "C" __declspec(dllimport) #endif #include "DetctorDriver.h" CARERAYRFDETECTOR_C_API DriverDPC* GetDriverDPC(); CARERAYRFDETECTOR_C_API void ReleaseDriverDPC(DriverDPC *p); // 此类是从 CareRayRFDetector.dll 导出的 class CARERAYRFDETECTOR_API CCareRayRFDetector : public DetctorDriver { public: CCareRayRFDetector(void); // TODO: 在此添加您的方法。 virtual ~CCareRayRFDetector(void); bool DriverEntry(ResDataObject &Configuration); bool Driver_Probe(ResDataObject &HardwareInfo); bool SYSTEM_CALL SetDriverWorkPath(const char * PARAM_IN pWorkPath); PVOID SYSTEM_CALL LoadDriver(); void SYSTEM_CALL UnloadDriver(); DWORD SYSTEM_CALL OnNotify(HANDLE evtList[], DWORD count); bool Connect(); void DisConnect(); bool Device_Probe(ResDataObject &HardwareInfo); bool SYSTEM_CALL SetDeviceWorkPath(const char * PARAM_IN pWorkPath); PVOID SYSTEM_CALL LoadLogicDevices(); void SYSTEM_CALL UnloadLogicDevices(); RET_STATUS DATA_ACTION SelectExamMode(const char *pExamKey); RET_STATUS DATA_ACTION SetFrameRate(FLOAT frameRate); RET_STATUS DATA_ACTION SetExamInfo(ResDataObject& PARAM_IN pParam); RET_STATUS DATA_ACTION SetSyncMode(SYNC_MODE nSyncMode, HARDWARE_TRIGGER_MODE TriggerMode); RET_STATUS OEM_IF StartAcquisition(); RET_STATUS OEM_IF StopAcquisition(); RET_STATUS OEM_IF XWindowOnNotify(); RET_STATUS OEM_IF XWindowOffNotify(); RET_STATUS OEM_IF ActiveCalibration(); RET_STATUS OEM_IF StartCalibration(); RET_STATUS OEM_IF PauseCalibration(); RET_STATUS OEM_IF StopCalibration(); RET_STATUS OEM_IF SetDetectorStatus(DETECTOR_STATUS status); RET_STATUS SYSTEM_CALL GetDriverDictionary(ResDataObject& PARAM_OUT DriverInfo); void AddErrMsg(int nType); void DelErrMsg(); RET_STATUS OEM_IF EnterExam(); RET_STATUS OEM_IF ExitExam(); RET_STATUS DATA_ACTION GetImgInterval(int &nInterval); RET_STATUS DATA_ACTION SetXrayOnNum(int nNum); RET_STATUS DATA_ACTION SetExposureTimes(int nTimes); RET_STATUS OEM_IF RotateImage(WORD* imageBuffer, int nImageHeight, int nImageWidth, int nAngle); //addbyys20201027 webconfig所需变量、接口 ResDataObject* m_pAttribute; ResDataObject* m_pDescription; ResDataObject m_ConfigAll; //存储所有配置信息 ResDataObject m_Configurations; //存储配置信息CONFIGURATION部分 std::string *m_strConfigPath; //配置文件路径 RET_STATUS DATA_ACTION GetDeviceConfig(ResDataObject PARAM_OUT *pDeviceConfig); RET_STATUS DATA_ACTION SetDeviceConfig(ResDataObject PARAM_IN *DeviceConfig); bool GetDeviceConfigValue(const char *pInnerKey, int nPathID, string &strValue); bool SetDeviceConfigValue(const char *pInnerKey, int nPathID, const char *szValue); //addend20201027 PVOID m_pDetector; ResDataObject m_Connection; ResDataObject m_ExamModeList; string m_strWorkPath; //记录工作路径 };