Поделиться через


Уведомления оборудования

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

Дополнительные сведения о KMDF см. в разделе Использование WDF для разработки драйвера.

Чтобы обеспечить поддержку уведомлений оборудования, вам потребуется:

Перечисления

 
HWN_CLX_EXPORT_INDEX

Определяет позицию для каждого экспорта уведомлений об оборудовании в таблице экспорта.

Функции

 
HWN_CLIENT_GET_STATE

Реализуется драйвером клиента для получения состояния компонента уведомления оборудования. Он вызывается, когда пользователь запрашивает сведения о состоянии.
HWN_CLIENT_INITIALIZE_DEVICE

Реализуется драйвером клиента и вызывается в результате вызова EVT_WDF_DEVICE_PREPARE_HARDWARE.
HWN_CLIENT_QUERY_DEVICE_INFORMATION

Реализуется драйвером клиента для получения атрибутов аппаратного компонента уведомления.
HWN_CLIENT_SET_STATE

Реализуется драйвером клиента для настройки состояния компонента уведомления оборудования. Он вызывается, когда пользователь хочет изменить состояние драйвера.
HWN_CLIENT_START_DEVICE

Реализуется драйвером клиента для запуска аппаратного компонента уведомления. Он вызывается в результате вызова EVT_WDF_DEVICE_D0_ENTRY.
HWN_CLIENT_STOP_DEVICE

Реализуется драйвером клиента ДЛЯ запуска аппаратного компонента уведомления. Он вызывается в результате вызова EVT_WDF_DEVICE_D0_EXIT.
HWN_CLIENT_UNINITIALIZE_DEVICE

Реализуется драйвером клиента и вызывается как вызванный в результате вызова EVT_WDF_DEVICE_RELEASE_HARDWARE. Эта функция обратного вызова не инициализирует аппаратный компонент уведомления.
HwNProcessAddDevicePostDeviceCreate

Создает очереди ввода-вывода. Он должен вызываться после вызова функции обратного вызова EVT_WDF_DRIVER_DEVICE_ADD драйвера клиента и создания объекта устройства.
HwNProcessAddDevicePreDeviceCreate

Предоставляет обратные вызовы подготовки, выпуска и входа и выхода устройства в Windows Driver Foundation (WDF) для перевода устройства в различные состояния.
HwNRegisterClient

Регистрирует драйвер клиента аппаратного уведомления и его функции обратного вызова с помощью расширения класса.
HwNUnregisterClient

Отменяет регистрацию драйвера клиента уведомлений оборудования и его функций обратного вызова с помощью расширения класса. Эта функция должна вызываться при выгрузке драйвера клиента.

Структуры

 
CLIENT_DEVICE_INFORMATION

Структура CLIENT_DEVICE_INFORMATION используется аппаратным HWN_CLIENT_QUERY_DEVICE_INFORMATION обратного вызова уведомлений для возврата общего количества аппаратных уведомлений, предоставляемых драйвером клиентского устройства.
HWN_CLIENT_REGISTRATION_PACKET

Пакет регистрации драйвера клиента уведомления оборудования, который передается расширению класса при регистрации драйвера клиента. Содержит сведения о версии и функции обратного вызова драйвера клиента.