Вопросы к Поиску с Алисой
HID-прослойка в современных драйверах управления периферийными устройствами работает следующим образом:
HID-драйвер представляет собой программный модуль, который обеспечивает взаимодействие между HID-менеджером и HID-устройствами. habr.com Драйвер принимает на себя задачу интерпретации данных, поступающих от HID-устройства, для их правильного восприятия HID-менеджером. habr.com
Это подразумевает не только определение стандартных действий пользователя (клик мыши, нажатие клавиши на клавиатуре), но и предоставление удобного интерфейса для управления HID-устройством. habr.com HID-драйвер напрямую «общается» с устройством, что позволяет быстро реагировать на контакт пользователя с устройством ввода. habr.com
Для доступа к аппаратному устройству ввода драйвер класса HID использует минидрайверы HID. video2.skills-academy.com Минидрайвер абстрагирует специфическую для устройства работу поддерживаемых им устройств ввода. video2.skills-academy.com Он привязывает свою работу к драйверу класса HID, зарегистрировавшись с ним. video2.skills-academy.com Драйвер класса HID связывается с минидрайвером, вызывая подпрограммы поддержки минидрайвера. video2.skills-academy.com Минидрайвер, в свою очередь, отправляет сообщения вниз по стеку драйверов к базовому драйверу шины или порта. video2.skills-academy.com
Например, в случае с устройствами, поддерживающими HID по транспорту SPI, Windows предоставляет мини-порт HID на основе KMDF-драйвера, реализующего спецификацию протокола 1.0 для HID через SPI. learn.microsoft.com Этот драйвер называется HIDSPI.sys и обеспечивает совместимость программного обеспечения и приложений, использующих HID IOCTLs и набор API. learn.microsoft.com