Яндекс.Метрика
    Поиск по тегу

    cli


    Найдено: 1 запись

    Песочница

    Использование SCM для управления драйверами в C# реализованной с помощью dll на C++

    Service Control Manager (SCM)


    SCM — реализованный в Windows сервер удаленного управления сервисами (вызова процедур).

    Для запуска драйвера ему в соответствие ставится сервис, который обеспечивеет управление этим драйвером. Не путать с устройством, которое создает драйвер в системе, через которое происходит обмен сообщениями с драйвером. Это устройство создается уже после внесения драйвера в систему, а вот SCM обеспечивает само внесение. С помощью него можно добавлять, удалять, запусать или останавливать службы.

    Постановка задачи


    Наисать буферный класс позволяющий упростить работу SCM в C#.
    Сам внешний вид этого класса можно обознать очень просто:
        public ref class ServiceControlManager
    	{
    	public:
    		ServiceControlManager(void);
    		void AddDriver(String^ ServiceName, String^ BinaryPathName);
    		void DeleteDriver(String^ ServiceName);
    		void StartDriver(String^ ServiceName);
    		void StopDriver(String^ ServiceName);
    	protected:
    		~ServiceControlManager();
    	private:
    		SC_HANDLE SCMHandle;
    	};
    

    Конструктор, деструктор, основные методы, из атрибутов только HANDLE объекта SCM, из чего следует, что экземпляр объекта этого класса будет содержать в себе созданный объект SCM, а методы упрощают с ним работу. Класс является буферным, и поскольку он реализован в C++/cli он будет автоматически масштабируем для работы в среде .NET, соответственно и в C#.