Сообщения драйвера

Каждое сообщение драйвера состоит из идентификатора сообщения и двух 32-разрядных параметров. Идентификатор сообщения — это уникальное значение, которое функция DriverProc проверяет, какое действие необходимо выполнить. Значение параметров сообщения зависит от сообщения. Параметры могут представлять значения или адреса. Во многих случаях параметры не используются и имеют нулевое значение.

Сообщения драйвера могут быть стандартными или настраиваемыми. Windows отправляет стандартные сообщения драйвера, такие как DRV_OPEN, DRV_CLOSE и DRV_CONFIGURE, в ответ на запрос на открытие, закрытие или настройку драйвера. Стандартные сообщения направляют устанавливаемый драйвер для загрузки или выгрузки ресурсов, включения или отключения его работы, открытия или закрытия экземпляра драйвера и отображения диалогового окна конфигурации. Некоторые стандартные сообщения, такие как DRV_POWER и DRV_EXITSESSION, уведомляют драйвер системных событий, влияющих на работу драйвера или любого связанного оборудования.

Приложения и библиотеки DLL отправляют сообщения пользовательских драйверов, чтобы направить устанавливаемый драйвер для выполнения действий, относящихся к драйверу. Устанавливаемые драйверы, поддерживающие пользовательские сообщения, должны включать соответствующую обработку в функцию DriverProc . Чтобы предотвратить конфликт между сообщениями пользовательского и стандартного драйверов, пользовательские идентификаторы сообщений должны иметь значения от DRV_RESERVED до DRV_USER. Пользовательские сообщения, передаваемые в функцию DefDriverProc , игнорируются.