#pragma once #include "LogicDevice.h" #include "DriverObject.h" #include "DeviceBUS.h" #ifdef DRIVERAPI_EXPORTS #define DRIVERAPI_API __declspec(dllexport) #else #define DRIVERAPI_API __declspec(dllimport) #endif class DRIVERAPI_API DeviceBUS; class DRIVERAPI_API DeviceDriver { protected: public: DeviceBUS *m_pBus; DriverObject *m_pDrv; ResDataObject m_Resource; DeviceDriver(void); virtual ~DeviceDriver(void); void Clear(); bool LoadDriver(const wchar_t *pDllPath,ResDataObject &Connection); bool UnLoadDriver(); void NotifyDataArrived(); size_t GetLogicDeviceCount(); void GetLogicDevice(DWORD Idx,LogicDevice *pDev); //loading the LogicDevice to the driverTree (in the SsdtAPI) };