DriverObject.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #pragma once
  2. #include "ResDataObject.h"
  3. #ifdef DRIVERAPI_EXPORTS
  4. #define DRIVERAPI_API __declspec(dllexport)
  5. #else
  6. #define DRIVERAPI_API __declspec(dllimport)
  7. #endif
  8. class DRIVERAPI_API DeviceDriver;
  9. //CMD INTO DRIVER
  10. typedef bool (*Driver_Open)(DeviceDriver *pDevice,ResDataObject &Connection,ResDataObject &Resource);
  11. typedef bool (*Driver_Read)(DeviceDriver *pDevice,ResDataObject &Req,ResDataObject &Res,ResDataObject &Status);
  12. typedef bool (*Driver_Write)(DeviceDriver *pDevice,ResDataObject &Req,ResDataObject &Res,ResDataObject &Status);
  13. typedef bool (*Driver_Close)(DeviceDriver *pDevice);
  14. typedef bool (*Driver_Notify)(DeviceDriver *pDevice,ResDataObject &Notify);
  15. typedef bool (*Driver_Action)(DeviceDriver *pDevice,ResDataObject &Action);
  16. typedef bool (*Driver_Action_Response)(DeviceDriver *pDevice,ResDataObject &ActionRes);
  17. //CMD OUT FROM DRIVER
  18. typedef bool (*Driver_Read_Event)(DeviceDriver *pDevice,ResDataObject &Notify);
  19. class DRIVERAPI_API DriverObject
  20. {
  21. public:
  22. DriverObject(void);
  23. virtual ~DriverObject(void);
  24. void Clear();
  25. bool LoadDriver(const wchar_t *pFilePath);
  26. //CMD INTO DRIVER (MUST EXIST)
  27. Driver_Open m_OpenMethod;
  28. Driver_Read m_ReadMethod;
  29. Driver_Write m_WriteMethod;
  30. Driver_Close m_CloseMethod;
  31. //CMD OUT FROM DRIVER
  32. Driver_Read_Event m_OutEventMethod;//Get Notify and Action from Driver
  33. //CMD INTO DRIVER (OPTIONAL)
  34. Driver_Notify m_NotifyMethod;
  35. Driver_Action m_ActionMethod;
  36. Driver_Action_Response m_ActionResponseMethod;
  37. //Dll File Handle
  38. HMODULE m_DriverDllHandle;
  39. };