ACT_SDK_ComIO.h 1010 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include "ACT-Sankyo_DevDefine.h"
  3. #include "F5Sanapi.h"
  4. #include <stdio.h>
  5. #include <dlfcn.h>
  6. using namespace std;
  7. /* 字节对齐设置为1 */
  8. #pragma pack(push,1)
  9. typedef int (*fnConnect)(
  10. __in const char*,
  11. __in int ,
  12. __in BYTE ,
  13. __in BYTE ,
  14. __out LPF5HANDLE
  15. );
  16. typedef int (*fnDisConnect)(__in F5HANDLE);
  17. typedef int (*fnExecute)(
  18. __in F5HANDLE ,
  19. __in LPBYTE,
  20. __in int ,
  21. __in int ,
  22. __out LPF5CMDRESULT
  23. );
  24. class CACT_SDK_ComIO
  25. {
  26. public:
  27. CACT_SDK_ComIO(void);
  28. ~CACT_SDK_ComIO(void);
  29. public:
  30. BOOL Open(const string strCOMName, const DWORD dwBaudRate);
  31. void Close();
  32. long SendAndRecv(const COMMAND cmdData, LPREPLY lpReply, DWORD dwTimeOut);
  33. private:
  34. BOOL LoadSDKDll();
  35. void FreeSDKDll();
  36. private:
  37. fnConnect m_fnConnect;
  38. fnDisConnect m_fnDisConnect;
  39. fnExecute m_fnExecute;
  40. private:
  41. F5HANDLE m_hDevice;
  42. F5CMDRESULT m_cmdResult;
  43. void * m_hF5CMDDll;
  44. };
  45. /* 恢复字节对齐方式 */
  46. #pragma pack(pop)