Открытие коллекций HID

В этом разделе описывается, как клиент HID может взаимодействовать с драйвером класса HID (HIDClass) для работы с коллекциями HID устройства.

Клиенты HID могут работать в следующих режимах:

  • Приложение или драйвер в режиме использования
  • Драйвер Kernel-Mode

В следующих разделах показано, как клиент HID может взаимодействовать с HIDClass в любом из режимов из предыдущего списка.

В этом разделе описывается, как приложения пользовательского режима и драйверы режима ядра работают с коллекциями HID.

Как правило, приложение в пользовательском режиме выполняет следующие действия.

  • Вызывает функции установки устройства (функции SetupDiXxx ) для поиска и идентификации коллекции HID.

  • Вызывает CreateFile, чтобы открыть файл в коллекции HID.

  • Вызывает процедуры поддержки **HidD_**Xxx HID для получения предварительно подготовленных данных и сведений о коллекции HID.

  • Вызывает ReadFile для чтения входных отчетов и WriteFile для отправки выходных отчетов.

  • Вызывает процедуры поддержки **HidP_**Xxx HID для интерпретации отчетов HID.

Как правило, драйвер в режиме ядра выполняет следующие действия.

  • Находит и идентифицирует коллекцию HID

    Если драйвер является драйвером функции или фильтра, он уже подключен к стеку устройств коллекции. Однако если драйвер не подключен к стеку устройств коллекции, драйвер может использовать Plug and Play уведомление.

  • Использует запрос IRP_MJ_CREATE для открытия коллекции HID

  • Использует запросы IOCTL_HID_Xxx для получения предварительно подготовленных данных коллекции HID и сведений о коллекции HID.

  • Использует запросы IRP_MJ_READ для чтения входных отчетов и запросы IRP_MJ_WRITE для отправки выходных отчетов

  • Вызовы **HidP_**Xxx HID вспомогательных процедур для интерпретации отчетов HID

См. также раздел