ApexDrDetector.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 APEXDRDETECTOR_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // APEXDRDETECTOR_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifndef APEXDRDETECTOR_EXPORTS
  9. #ifdef WIN_64BIT
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "APEXDRDETECTORX64D.lib")
  12. #else
  13. #pragma comment(lib, "APEXDRDETECTORX64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "APEXDRDETECTORD.lib")
  18. #else
  19. #pragma comment(lib, "APEXDRDETECTOR.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #include <string>
  24. using namespace std;
  25. #include "DPC.h"
  26. #include "DiosThread.h"
  27. #include "TcpipSCF.h"
  28. #include "DiosPacket.h"
  29. #ifdef APEXDRDETECTOR_EXPORTS
  30. #define APEXDRDETECTOR_API __declspec(dllexport)
  31. #define APEXDRDETECTOR_C_API extern "C" __declspec(dllexport)
  32. #else
  33. #define APEXDRDETECTOR_API __declspec(dllimport)
  34. #define APEXDRDETECTOR_C_API extern "C" __declspec(dllimport)
  35. #endif
  36. APEXDRDETECTOR_C_API DPC* GetDPC();
  37. APEXDRDETECTOR_C_API void ReleaseDPC(DPC *p);
  38. class APEXDRDETECTOR_API ApexDrDetector : public DPC
  39. {
  40. PVOID m_pDetector;
  41. public:
  42. ApexDrDetector(void);
  43. virtual ~ApexDrDetector(void);
  44. virtual bool DpcEntry(ResDataObject &Configuration);
  45. virtual ResDataObject GetConnectionType();
  46. virtual bool Connect(ResDataObject &Connection);
  47. virtual bool Probe(ResDataObject &HardwareInfo);
  48. virtual bool SetWorkPath(const char *pWorkPath);
  49. virtual PVOID LoadLogicDevices();
  50. virtual void UnloadLogicDevices(PVOID p);
  51. virtual bool DisConnect();
  52. virtual bool OnNotify(HANDLE ExitNotify);
  53. };