USSubSystem.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  2. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SUBSYSTEM_EXPORTS
  3. // 符号编译的。在使用此 DLL 的
  4. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  5. // SUBSYSTEM_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  6. // 符号视为是被导出的。
  7. #pragma once
  8. #ifdef USSUBSYSTEM_EXPORTS
  9. #define USSUBSYSTEM_API __declspec(dllexport)
  10. #else
  11. #define USSUBSYSTEM_API __declspec(dllimport)
  12. #endif
  13. #ifndef USSUBSYSTEM_EXPORTS
  14. #ifdef WIN_64BIT
  15. #ifdef _DEBUG
  16. #pragma comment(lib, "USSubSystemX64D.lib")
  17. #else
  18. #pragma comment(lib, "USSubSystemX64.lib")
  19. #endif
  20. #else
  21. #ifdef _DEBUG
  22. #pragma comment(lib, "USSubSystemD.lib")
  23. #else
  24. #pragma comment(lib, "USSubSystem.lib")
  25. #endif
  26. #endif
  27. #endif
  28. //#include "logicdevice.h"
  29. //#include "CommonLogicClient.h"
  30. //#include "DIOSLogicDeviceStructure.h"
  31. //#include <map>
  32. //using namespace std;
  33. #include "commonDataStruct.h"
  34. // 此类是从 SubSystem.dll 导出的
  35. class USSUBSYSTEM_API CUSSubSystem : public LogicDevice
  36. {
  37. public:
  38. CUSSubSystem(void);
  39. virtual ~CUSSubSystem(void);
  40. // TODO: 在此添加您的方法。
  41. public:
  42. void *m_pData;
  43. void *m_pThread;
  44. //ResourceCommand Request In and Response Out
  45. virtual RET_STATUS OpenLogicDevice();
  46. virtual RET_STATUS CloseLogicDevice();
  47. virtual bool SetSubSystemObj(CUSSubSystem *p);
  48. //get device type,returns device type GUID
  49. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  50. //notify to lower layer
  51. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  52. //get device resource
  53. virtual RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  54. virtual RET_STATUS Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  55. virtual RET_STATUS SetApplicationMode(ResDataObject nApplicationMode);
  56. virtual RET_STATUS GetApplicationType(const char PARAM_OUT *applicationtype);
  57. //UI通过该接口获取数据容器中的参数
  58. virtual RET_STATUS GetECMData(const char PARAM_OUT *pParam);
  59. virtual RET_STATUS SetUSMode(int mode);
  60. virtual RET_STATUS StartUSAcq();
  61. virtual RET_STATUS StopUSAcq();
  62. //获取抽象设备路径 提供给驱动调用的接口
  63. //virtual RET_STATUS SetAbstrctlogicPath(const char* PARAM_IN AbstractName, const char*PARAM_IN Abstractpath) = 0;
  64. bool WaitforStateNotify();
  65. protected:
  66. bool ProcessNotify(string strKey, ResDataObject ResNotify);
  67. private:
  68. };