Программирование драйверов Windows

       

Инсталляция с использованием сервисов SCM Менеджера


В операционной системе Windows NT имеется компонент, называемый Service Control Manager (SCM Менеджер). Удобство предоставляемых им услуг состоит в том, что, используя его функции в приложениях пользовательского режима, можно динамически запускать и выгружать драйверы, требующиеся только данному конкретному приложению, не прибегая к вызову Мастера Установки нового оборудования. Таким образом, приложение само определяет время присутствия драйвера в операционной системе.

Достаточно подробное описание программирования приложений с использованием функций SCM имеется в документации MSDN (практически, единственное место ее соприкосновения с потребностями собственно разработки драйверов), поставляемой отдельно или в составе пакетов Microsoft Visual Studio.

Работа с сервисами SCM менеджера начинается с вызова функции OpenSCManager

(это имя можно рассматривать как "точку входа" в документацию MSDN по программированию с применением SCM функций) и завершается вызовом функции CloseServiceHandle.

Пример работы с функциями SCM будет рассмотрен ниже, в примере консольного приложения для тестирования драйвера Example.sys.

Следует отметить, что не все типы драйверов могут быть загружены и запущены средствами SCM функций.



Содержание раздела