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

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

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

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