Поддержка уведомлений оборудования

Относится к

  • Разработчики драйверов и изготовители оборудования

Важные API

Windows 10 версия 1709 предоставляет инфраструктуру для аппаратной поддержки компонентов уведомлений, таких как светодиоды и механизмы вибрации. Эта поддержка предоставляется за счет внедрения расширения класса Kernel-Mode Driver Framework (KMDF) специально для аппаратных компонентов уведомлений, что позволяет быстро разрабатывать клиентские драйверы. Расширение класса KMDF по сути является драйвером KMDF, который предоставляет определенный набор функциональных возможностей для определенного класса устройств, аналогичный драйверу порта в модели драйвера Windows (WDM). В этом разделе представлен обзор архитектуры расширения класса уведомлений оборудования. Дополнительные сведения о KMDF см. в разделе Использование WDF для разработки драйвера.

Расширение класса уведомлений оборудования

Расширение класса уведомлений оборудования является центральным компонентом архитектуры аппаратного драйвера уведомлений. Расширение класса предназначено для минимизации необходимого взаимодействия с KMDF и предоставляет простой интерфейс для управления компонентами уведомлений. Расширение класса обрабатывает такие задачи, как:

  • Регистрация клиентских драйверов
  • Выделение и очистка системных ресурсов
  • Регистрация функций обратного вызова питания PnP для клиентских драйверов
  • Регистрация очередей ввода-вывода для клиентских драйверов
  • Проверка данных и проверка ошибок
  • Обмен аппаратными запросами с драйвером клиента

На следующей схеме показана базовая архитектура расширения класса уведомлений оборудования.

архитектура hwn clx.

Драйвер клиента уведомлений оборудования

Клиентские драйверы можно легко создать для аппаратных компонентов уведомлений с помощью расширения класса уведомлений оборудования. Единственной обязанностью драйвера клиента является предоставление соответствующих точек входа для KMDF, реализация определенных функций обратного вызова расширения класса, управление состояниями питания и управление физическим оборудованием. В частности, драйвер клиента должен реализовать функции DriverEntry и EVT_WDF_DRIVER_DEVICE_ADD обратного вызова для использования Windows Driver Foundation (WDF), а также необходимые функции обратного вызова для расширения класса.

На следующей схеме показаны взаимодействия с точки зрения клиентского драйвера.

архитектура драйвера клиента.