Tranducer.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 TRANDUCER_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // TRANDUCER_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifdef TRANDUCER_EXPORTS
  9. #define TRANDUCER_API __declspec(dllexport)
  10. #define TRANDUCER_C_API extern "C" __declspec(dllexport)
  11. #else
  12. #define TRANDUCER_API __declspec(dllimport)
  13. #define TRANDUCER_C_API extern "C" __declspec(dllimport)
  14. #endif
  15. #ifndef TRANDUCER_EXPORTS
  16. #ifdef _WIN64
  17. #ifdef _DEBUG
  18. #pragma comment(lib, "TranducerX64D.lib")
  19. #else
  20. #pragma comment(lib, "TranducerX64.lib")
  21. #endif
  22. #else
  23. #ifdef _DEBUG
  24. #pragma comment(lib, "TranducerD.lib")
  25. #else
  26. #pragma comment(lib, "Tranducer.lib")
  27. #endif
  28. #endif
  29. #endif
  30. #include "ResDataObject.h"
  31. #include "LogicDevice.h"
  32. #include "Us_Model_Def.h"
  33. class TRANDUCER_API Tranducer : public LogicDevice
  34. {
  35. ModelTranducer *m_pResource;
  36. public:
  37. Tranducer(void);
  38. virtual ~Tranducer(void);
  39. ResDataObject& SYSTEM_CALL GetResource();
  40. //get device type
  41. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  42. //get device resource
  43. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  44. //ResourceCommand Request In and Response Out
  45. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  46. virtual RET_STATUS SYSTEM_CALL GetRequest(ResDataObject PARAM_IN *pKey, ResDataObject PARAM_OUT *pResponse);
  47. //notify to lower layer
  48. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  49. virtual RET_STATUS OEM_IF SelectTr(bool Sel);
  50. };