#define OEMBUSUNIT_API #define OEMBUSUNIT_C_API extern "C" #include "LogicDriver.h" //OEMBUSUNIT_C_API DPC* GetDPC(); //OEMBUSUNIT_C_API void ReleaseDPC(DPC *p); //class OEMBUSUNIT_API BusUnitDPC : public DPC //{ // std::string *m_pWorkpath; //public: // BusUnitDPC(void); // virtual ~BusUnitDPC(void); // // virtual bool DpcEntry(ResDataObject &Configuration); // // virtual ResDataObject GetConnectionType(); // // virtual bool Connect(ResDataObject &Connection); // // virtual bool Probe(ResDataObject &HardwareInfo); // // virtual bool SetWorkPath(const char *pWorkPath); // // virtual PVOID LoadLogicDevices(); // // virtual void UnloadLogicDevices(PVOID p); // // virtual bool DisConnect(); // //}; class OEMBUSUNIT_API BusUnitDPC : public LogicDriver { std::shared_ptr< LinuxEvent> m_ExitFlag; string *m_pWorkpath; LogicDevice *m_pRootDevice; bool m_FirstLoad; public: BusUnitDPC(void); virtual ~BusUnitDPC(void); virtual bool DriverEntry(ResDataObject &Configuration); virtual bool SYSTEM_CALL Driver_Probe(ResDataObject& PARAM_OUT HardwareInfo); virtual void SubscribeSelf() override; virtual void OnSetClientID() override; //virtual RET_STATUS ProcessRequest(ResDataObject* pCmd, PACKET_CMD cmd) override; virtual bool SetDriverWorkPath(const char *pWorkPath); virtual PVOID SYSTEM_CALL LoadDriver();//ÎÞ¸ù½Úµã virtual void SYSTEM_CALL UnloadDriver(); void SYSTEM_CALL UnloadAllRegistedDrivers(); void SetExitFlag(); //actions virtual bool Connect(); virtual void DisConnect(); //virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType); virtual bool SYSTEM_CALL Device_Probe(ResDataObject& PARAM_OUT HardwareInfo); virtual bool SYSTEM_CALL SetDeviceWorkPath(const char * PARAM_IN pWorkPath); virtual PVOID LoadLogicDevices(); virtual void UnloadLogicDevices(); RET_STATUS SYSTEM_CALL GetDriverDictionary(ResDataObject& PARAM_OUT DriverInfo); virtual DWORD SYSTEM_CALL OnNotify(std::vector > evtList, DWORD count); }; OEMBUSUNIT_C_API DriverDPC* GetDriverDPC(); OEMBUSUNIT_C_API void ReleaseDriverDPC(DriverDPC *p);