AcousticProcessor.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 ACOUSTICPROCESSOR_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // ACOUSTICPROCESSOR_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifdef ACOUSTICPROCESSOR_EXPORTS
  9. #define ACOUSTICPROCESSOR_API __declspec(dllexport)
  10. #define ACOUSTICPROCESSOR_C_API extern "C" __declspec(dllexport)
  11. #else
  12. #define ACOUSTICPROCESSOR_API __declspec(dllimport)
  13. #define ACOUSTICPROCESSOR_C_API extern "C" __declspec(dllimport)
  14. #endif
  15. #ifndef ACOUSTICPROCESSOR_EXPORTS
  16. #ifdef _WIN64
  17. #ifdef _DEBUG
  18. #pragma comment(lib, "AcousticProcessorX64D.lib")
  19. #else
  20. #pragma comment(lib, "AcousticProcessorX64.lib")
  21. #endif
  22. #else
  23. #ifdef _DEBUG
  24. #pragma comment(lib, "AcousticProcessorD.lib")
  25. #else
  26. #pragma comment(lib, "AcousticProcessor.lib")
  27. #endif
  28. #endif
  29. #endif
  30. // 此类是从 AcousticProcessor.dll 导出的
  31. #include "ResDataObject.h"
  32. #include "LogicDevice.h"
  33. #include "Us_Model_Def.h"
  34. #include "ShareMemory_IF.h"
  35. #include"DIOSLogicDeviceStructure.h"
  36. class ACOUSTICPROCESSOR_API AcousticProcessor : public LogicDevice
  37. {
  38. PVOID m_SMHandle;
  39. ExJsonDataObject *m_pResource;
  40. public:
  41. AcousticProcessor(void);
  42. virtual ~AcousticProcessor(void);
  43. ResDataObject& SYSTEM_CALL GetResource();
  44. //get device type
  45. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  46. virtual void SYSTEM_CALL CompleteInit();
  47. virtual void SYSTEM_CALL CompleteUnInit();
  48. //get device resource
  49. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  50. //ResourceCommand Request In and Response Out
  51. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  52. virtual RET_STATUS SYSTEM_CALL GetRequest(ResDataObject PARAM_IN *pKey, ResDataObject PARAM_OUT *pResponse);
  53. //notify to lower layer
  54. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  55. ShareMemoryBlockID OEM_IF PostFrame(USIMAGETYPE ImageType, ShareMemoryBlockID smId);
  56. ShareMemoryBlockID OEM_IF PostRawFrame(USIMAGETYPE ImageType, DWORD SeqId, DWORD FrameId, WORD* pImageBuff, DWORD BuffSize);
  57. };