Virtual hid minidriver collection что это

Virtual HID Minidriver Collection

Установщик драйверов:

В случае, когда вы не хотите тратить время на поиск нужного драйвера для вашего ПК, к вашим услугам представлен автоматический установщик, который самостоятельно подберет нужные и самые актуальные драйвера для всех устройств вашей системы. Скачать Outbyte Drivers Installer вы можете перейдя по этой ссылке Установить драйвера автоматически

Устройство:Virtual HID Minidriver Collection Drivers Installer
Версия драйвера:2.0.0.18
Дата драйвера:2021-12-12
Размер файла:1.12 Mb
Поддерживаемые ОС:Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8
Установить драйвера автоматически

Список драйверов:

Найдено драйверов для устройства «Virtual HID Minidriver Collection»: 3. Для загрузки необходимого драйвера, выберите его из списка ниже и перейдите по ссылке «Скачать». Пожалуйста, убедитесь в соответствии выбранной версии драйвера вашей операционной системе для обеспечения корректности его работы.

Поддерживаемые модели ноутбуков

Мы собрали список популярных моделей ноутбуков на которых устанавливается оборудование «Virtual HID Minidriver Collection». Выбрав интересующую вас модель ноутбука вы можете посмотреть полный список совместимых устройств.

Источник

Создание драйвера источника HID с помощью виртуальной платформы HID (ВХФ)

Сводка

Относится к

Важные API

Сведения о создании драйвера источника HID, который передает данные HID в операционную систему.

Устройство ввода HID, такое как клавиатура, мышь, перо, касание или кнопка, отправляет различные отчеты в операционную систему, чтобы они могли понять назначение устройства и предпринять необходимые действия. Отчеты представлены в виде коллекций HID и использования HID. устройство отправляет эти отчеты по различным транспортам, некоторые из которых поддерживаются Windows, например hid через I2C и hid через USB. в некоторых случаях транспорт может не поддерживаться Windows или отчеты могут не сопоставляться напрямую с реальным оборудованием. Это может быть поток данных в формате HID, который отправляется другим компонентом программного обеспечения для виртуального оборудования, например, для кнопок или датчиков, не относящихся к GPIO. Например, рассмотрим акселерометр данные с телефона, который работает в качестве игрового устройства и отправляет беспроводное подключение на ПК. в другом примере компьютер может получить удаленный ввод с Miracast устройства с помощью протокола уибк.

в предыдущих версиях Windows для поддержки новых транспортов (реального оборудования или программного обеспечения) пришлось написать HID-транспорт минидривер и привязать его к поставляемому корпорацией майкрософт драйверу класса в box, Hidclass.sys. Пара класс/мини-драйвер предоставляет коллекции HID, такие как коллекции верхнего уровня для драйверов верхнего уровня и приложения пользовательского режима. В этой модели сложность была написана на минидривер, что может быть сложной задачей.

начиная с Windows 10 новая виртуальная среда HID (вхф) устраняет необходимость написания минидривер транспорта. Вместо этого можно написать драйвер источника HID с помощью интерфейсов программирования КМДФ или WDM. Платформа состоит из статической библиотеки, предоставляемой корпорацией Майкрософт, которая предоставляет программные элементы, используемые драйвером. Он также включает встроенный драйвер, предоставляемый корпорацией Майкрософт, который перечисляет одно или несколько дочерних устройств и переходит к созданию виртуального дерева HID и управлению им.

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

Дерево виртуальных устройств HID

На этом рисунке в дереве устройств показаны драйверы и связанные с ними объекты устройств.

Virtual hid minidriver collection что это. vhf. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-vhf. картинка Virtual hid minidriver collection что это. картинка vhf

Драйвер источника HID (драйвер)

Драйвер источника HID ссылается на Вхфкм. lib и включает ВХФ. h в свой проект сборки. драйвер можно записать с помощью WDM (WDM) или платформы Kernel-Mode driver framework (кмдф), которая входит в состав Windows платформ драйверов (вдф). Драйвер можно загрузить в виде драйвера фильтра или драйвера функции в стеке устройства.

Статическая библиотека ВХФ (вхфкм. lib)

статическая библиотека входит в комплект драйверов Windows (WDK) для Windows 10. Библиотека предоставляет программные интерфейсы, такие как подпрограммы и функции обратного вызова, используемые драйвером источника HID. Когда драйвер вызывает функцию, статическая библиотека перенаправляет запрос к драйверу ВХФ, который обрабатывает запрос.

Драйвер ВХФ (Vhf.sys)

Драйвер, предоставленный корпорацией Майкрософт. Этот драйвер необходимо загрузить в качестве более низкого драйвера фильтра под драйвером в исходном стеке устройств HID. Драйвер ВХФ динамически перечисляет дочерние устройства и создает объекты физических устройств (PDO) для одного или нескольких устройств HID, указанных драйвером источника HID. В нем также реализована функция мини-драйвера транспортного устройства с перечисленными дочерними устройствами.

Пара драйверов классов HID (Hidclass.sys, Mshidkmdf.sys)

Пара Хидкласс/Мшидкмдф перечисляет коллекции верхнего уровня (ТЛК) аналогично тому, как она перечисляет коллекции для реального HID-устройства. Клиент HID может по-прежнему запрашивать и использовать Тлкс так же, как и реальное устройство HID. Эта пара драйверов устанавливается как драйвер функции в стеке устройства.

Клиент HID (приложение)

Запрос и использование Тлкс, сообщаемых стеком устройств HID.

Требования к заголовку и библиотеке

В этой процедуре описывается написание простого драйвера источника HID, который сообщает кнопки гарнитуры операционной системе. В этом случае драйвер, реализующий этот код, может быть существующим аудио драйвером КМДФ, который был изменен для использования в качестве кнопок гарнитуры отчетов HID Source с помощью ВХФ.

Создание виртуального устройства HID

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

Например, приложение запрашивает ТЛК. Когда пара из драйвера класса HID получает этот запрос, эта пара определяет тип запроса и создает соответствующий запрос МИНИДРИВЕР ioctl и пересылает его в ВХФ. При получении запроса IOCTL ВХФ может обработать запрос, использовать драйвер источника HID для его обработки или выполнить запрос с STATUS_NOT_SUPPORTED.

ВХФ обрабатывает эти запросы IOCTL:

Если запрос является реализованным, сетфеатуре, вритерепортили ЖЕТИНПУТРЕПОРТ, а драйвер источника HID зарегистрировал СООТВЕТСТВУЮЩУЮ функцию обратного вызова, ВХФвызывает функцию обратного вызова. В рамках этой функции драйвер источника HID может получать или задавать данные HID для виртуального устройства HID. Если драйвер не регистрирует обратный вызов, ВХФ завершает запрос с состоянием STATUS_NOT_SUPPORTED.

ВХФ вызывает функции обратного вызова событий, реализованные в драйвере источника HID, для этих IOCTL:

Если драйвер хочет получить или задать отчет о компонентах HID асинхронно, драйвер должен реализовать функцию евтвхфасинкоператион и указать указатель на функцию реализации get или Set в элементе евтвхфасинкоператионжетфеатуре или евтвхфасинкоператионсетфеатуре элемента VHF_CONFIG.

Если драйвер хочет асинхронно получить входной отчет HID, драйвер должен реализовать функцию евтвхфасинкоператион и указать указатель на функцию в евтвхфасинкоператионжетинпутрепорт члене VHF_CONFIG.

Если драйвер желает получить асинхронную запись входного отчета HID, драйвер должен реализовать функцию евтвхфасинкоператион и указать указатель на функцию в евтвхфасинкоператионвритерепорт члене VHF_CONFIG.

Для любого другого МИНИДРИВЕР ioctlВХФ завершает запрос с STATUS_NOT_SUPPORTED.

Отправка входного отчета HID

Как правило, HID-устройство отправляет сведения об изменениях состояния, отправляя входные отчеты через прерывания. Например, гарнитура устройства может отправить отчет при изменении состояния кнопки. В таком случае вызывается процедура службы прерываний (ISR) драйвера. В этой подпрограмме драйвер может запланировать отложенный вызов процедур (DPC), который обрабатывает входной отчет и отправляет его в ВХФ, который отправляет данные в операционную систему. По умолчанию ВХФ помещает отчет в буфер, а драйвер источника HID может начать отправлять отчеты с данными HID, как они приходят. Это и устраняет необходимость реализации в драйвере источника HID сложной синхронизации.

Удаление виртуального устройства HID

Удалите виртуальное устройство HID, вызвав вхфделете.

Источник

Virtual hid minidriver collection что это

Автор, я просто шокирован бездной Вашей любознательности и феноменальной скоростью мышления!
Пеши исчо!

Обеспечивает поддержку устройств с HID (Human Interface Device), таких как мышки, джойстики, клавиатуры и проч. Использует медленный канал, работает на пониженной мощности.

List of driver files that match with the above device in our database.

You are viewing the drivers of an anonymous computer which may be not the same with your current computer. These driver(s) may not work with your computer. Please click on the link below to download, scan and get the correct drivers.

Virtual hid minidriver collection что это. downloadnow. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-downloadnow. картинка Virtual hid minidriver collection что это. картинка downloadnow
Virtual hid minidriver collection что это. . Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-. картинка Virtual hid minidriver collection что это. картинка

HID Проблемы с клавиатурой

Как и большинство периферийных устройств, HID-клавиатуры имеют тенденцию создавать несколько собственных проблем. Хотя в основном проблемы возникают из-за ошибок в драйверах, проблемы также могут включать проблемы совместимости или другие программы и службы, мешающие правильному функционированию устройства.

Razer Drivers

Virtual hid minidriver collection что это. 17813ec3cbf0a15a5c347b4bf9340eec. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-17813ec3cbf0a15a5c347b4bf9340eec. картинка Virtual hid minidriver collection что это. картинка 17813ec3cbf0a15a5c347b4bf9340eec

Что такое HID Keyboard Device? Как установить драйверы HID-клавиатуры

Virtual hid minidriver collection что это

ACPI\VEN_MSSL&DEV_1680
ACPI\MSSL1680
*MSSL1680

Compatible ID:
ACPI\PNP1680
PNP1680

Исправления: клавиатура не работает

Большинство вышеупомянутых проблем можно решить, просто обновив или переустановив драйверы, как показано в предыдущем разделе. Но если проблема с вашей клавиатурой не устранена, вы также можете взглянуть на следующее:

Убедитесь, что порт USB работает

Чтобы проверить, работает ли порт USB, отключите клавиатуру HID и подключите другое устройство USB, например флэш-накопитель или мышь. Если он тоже не распознается, у вас проблема с оборудованием. Помимо исправления базовой инфраструктуры, вам также следует обойти любые USB-концентраторы, которые вы можете использовать, и подключить клавиатуру напрямую к ПК.

Конфликт обновления драйвера Windows 10

Некоторые пользователи сообщают о любопытной проблеме при перезагрузке Windows 10. Функциональная клавиатура перестает работать, как только драйверы устройства обновляются автоматически с помощью обновления Windows.

Единственным недостатком этого решения является то, что мы должны держать обновления Windows выключенными, чтобы избежать конфликта между драйверами, которые мы установили вручную, и теми, которые обновление Windows хочет нам навязать. Однако вы можете сначала попытаться создать точку восстановления системы и снова включить обновления, чтобы проверить, работает ли ваша клавиатура.

Отключить ключи фильтра

Лучше оставить ключи фильтров выключенными. Чтобы в этом убедиться, нажмите Win + I и откройте «Настройки». Щелкните «Удобство доступа».

Virtual hid minidriver collection что это. hid keyboard 15. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 15. картинка Virtual hid minidriver collection что это. картинка hid keyboard 15

Прокрутите вниз и выберите «Клавиатура» на левой панели.

Virtual hid minidriver collection что это. hid keyboard 16. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 16. картинка Virtual hid minidriver collection что это. картинка hid keyboard 16

Теперь справа в разделе «Использовать ключи фильтра» выключите кнопку и снимите флажок «Разрешить ярлыку запускать ключи файлов».

Virtual hid minidriver collection что это. hid keyboard 17. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 17. картинка Virtual hid minidriver collection что это. картинка hid keyboard 17

Вы также можете один раз обновить / переустановить драйверы, на всякий случай. Затем перезагрузите компьютер. Этот метод должен обновить драйверы и предотвратить вмешательство других функций во ввод данных.

Мы надеемся, что теперь вы стали лучше осведомлены о HID-клавиатурах и обновлении их дисков, чем раньше. Выполнение этого несколькими различными способами также гарантирует, что вы избежите любых проблем, которые в противном случае могли бы беспокоить вашу клавиатуру.

Установите драйверы HID Keyboard

Если вы недавно обновились до Windows 10, переустановили или обновили ее, возможно, вы обнаружили, что вам необходимо установить (или обновить) драйверы HID Keyboard.

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

Вот несколько способов обновить и переустановить драйверы клавиатуры и решить проблемы, с которыми вы можете столкнуться.

Чтобы установить / обновить драйверы клавиатуры, откройте RUN, нажав Winkey + R, введите «devmgmt.msc» и нажмите Enter.

Virtual hid minidriver collection что это. hid keyboard 01. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 01. картинка Virtual hid minidriver collection что это. картинка hid keyboard 01

В диспетчере устройств разверните ветку Клавиатуры.

Virtual hid minidriver collection что это. hid keyboard 02. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 02. картинка Virtual hid minidriver collection что это. картинка hid keyboard 02

Затем щелкните правой кнопкой мыши на клавиатуре и выберите «Обновить драйвер».

Virtual hid minidriver collection что это. hid keyboard 03. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 03. картинка Virtual hid minidriver collection что это. картинка hid keyboard 03

Выберите Автоматический поиск драйверов.

Virtual hid minidriver collection что это. hid keyboard 04. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 04. картинка Virtual hid minidriver collection что это. картинка hid keyboard 04

Драйверы будут установлены / обновлены автоматически. Перезагрузите компьютер, чтобы изменения вступили в силу.

Вы также можете просмотреть (свой) компьютер в поисках драйверов, если вы уже загрузили драйверы с вашего компьютера или веб-сайта производителя клавиатуры.

Virtual hid minidriver collection что это. hid keyboard 05. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 05. картинка Virtual hid minidriver collection что это. картинка hid keyboard 05

Нажмите «Обзор», найдите папку с файлом драйвера и нажмите «Далее».

Virtual hid minidriver collection что это. hid keyboard 06. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 06. картинка Virtual hid minidriver collection что это. картинка hid keyboard 06

Кроме того, вы можете нажать «Разрешить мне выбрать» из списка доступных драйверов на моем компьютере и посмотреть, какие предложения Windows предлагает вам.

Virtual hid minidriver collection что это. hid keyboard 07. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 07. картинка Virtual hid minidriver collection что это. картинка hid keyboard 07

Затем выберите один из предложенных вариантов и нажмите «Далее».

Virtual hid minidriver collection что это. hid keyboard 08. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 08. картинка Virtual hid minidriver collection что это. картинка hid keyboard 08

Если вы не можете найти вариант, снимите флажок «Показать совместимое оборудование» и получите полный список драйверов от разных производителей на выбор. Затем нажмите Далее.

Virtual hid minidriver collection что это. hid keyboard 09. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 09. картинка Virtual hid minidriver collection что это. картинка hid keyboard 09

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

Virtual hid minidriver collection что это. hid keyboard 10. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 10. картинка Virtual hid minidriver collection что это. картинка hid keyboard 10

Откройте диспетчер устройств, как показано ранее (Win + X). Вы также можете использовать для этого только мышь: щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Диспетчер устройств».

Virtual hid minidriver collection что это. hid keyboard 11. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 11. картинка Virtual hid minidriver collection что это. картинка hid keyboard 11

Затем щелкните правой кнопкой мыши на клавиатуре в ветви «Клавиатуры» и выберите «Удалить устройство».

Virtual hid minidriver collection что это. hid keyboard 12. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 12. картинка Virtual hid minidriver collection что это. картинка hid keyboard 12

Снова нажмите Удалить.

Virtual hid minidriver collection что это. hid keyboard 13. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 13. картинка Virtual hid minidriver collection что это. картинка hid keyboard 13

Выберите Да и перезагрузите компьютер, чтобы удалить.

Virtual hid minidriver collection что это. hid keyboard 14. Virtual hid minidriver collection что это фото. Virtual hid minidriver collection что это-hid keyboard 14. картинка Virtual hid minidriver collection что это. картинка hid keyboard 14

После перезапуска Windows автоматически установит драйверы клавиатуры по умолчанию и снова заставит клавиатуру работать.

Если клавиатура не работает после перезагрузки, это означает, что вам необходимо переустановить / обновить драйверы самостоятельно из диспетчера устройств. Но поскольку вы можете выполнить шаги, описанные выше, с помощью одной только мыши, это не должно быть проблемой.

Источник

Minidrivers and the HID class driver

The section includes the following topics about the operation of the HID class driver:

Operational features of the HID class driver

The HID class driver does the following:

Provides and manages the upper-level interface that kernel-mode drivers and user-mode applications use to access the HID collections that an input device supports.

The HID class driver transparently manages and routes all communication between upper-level drivers and applications and the underlying input devices that support HID collections. It manages the different data protocols that are used by different input devices and input queues that support more than one open file on the same HID collection.

The upper-level interface to HID collections consists of the HID class driver IOCTLs, the HIDClass support routines, and the HIDClass structures.

Communicates with a HID minidriver by calling the minidriver’s standard driver routines.

Creates a functional device object (FDO) for HIDClass input devices enumerated by a lower-level bus or port driver.

For example, the HID class driver creates and manages the operations of an FDO that represents a USB HID device enumerated by the system-supplied USB driver stack.

Provides the functionality of a bus driver for the child devices (HID collections) supported by an underlying input device.

The HID class driver creates a physical device object (PDO) for each HID collection supported by an input device and manages the collection’s operation.

Binding a minidriver to HIDClass

A HID minidriver binds its operation to the HID class driver by calling HidRegisterMinidriver to register itself with the HID class driver. The registration operation does the following:

Saves a copy of the entry points (pointers) to the HID minidriver’s standard driver routines in the HID class driver’s device extension.

A HID minidriver sets its entry points in the driver object that the minidriver receives as input to its DriverEntry routine. The HID minidriver sets these entry points before it registers with the HID class driver.

Resets the entry points in the minidriver’s driver object to the entry points for the standard driver routines supplied by the HID class driver.

The HID class driver supplies the following standard driver routines:

Dispatch routines for the following I/O requests:

The registration process also allocates memory for the HID mindriver device extension. Although the memory is allocated by the HID class driver, only the HID minidriver uses this device extension.

Communicating with a HID minidriver

The HID class driver communicates with a HID minidriver by calling the HID minidriver’s AddDevice, Unload, and dispatch routines as follows:

Calling the AddDevice Routine

When the HID class driver’s AddDevice routine is called to create a functional device object (FDO), the HID class driver creates the FDO, initializes it, and calls the HID minidriver AddDevice routine. The HID minidriver AddDevice routine does internal device-specific initialization and, if successful, returns STATUS_SUCCESS. If the HID minidriver AddDevice routine is not successful, the HID class driver deletes the FDO and returns the status returned by the HID minidriver AddDevice routine.

Calling the Unload Routine

When the HID class driver Unload routine is called, the HID class driver completes releasing all resources associated with FDO and calls the HID minidriver’s Unload routine.

Calling the Dispatch Routines

To operate a device, the HID class driver primarily calls the HID minidriver dispatch routine for internal device control requests.

In addition, when the I/O manager sends Plug and Play, power, or system control requests to the HID class driver for an FDO, the HID class driver processes the request, and calls the HID minidriver’s corresponding dispatch routine.

The HID class driver does not send the following requests to the HID minidriver: create, close, or device control.

Operation of a HID minidriver

A HID transport minidriver abstracts the operation of a hardware bus or port that your input device attaches to.

HID minidrivers can be built using one of the following frameworks:

Microsoft recommends using a Frameworks based solution (KMDF or UMDF (on Windows 8 only)). For more information on each of the driver models, please visit the following sections:

The following section talks about registering a WDM based HID Minidriver but much of it is pertinent to a KMDF based Frameworks driver also. All HID minidriver must register with the HID class driver, and the HID class driver communicates with the minidriver by calling the minidriver’s standard driver routines.

For more information about the functionality that a HID minidriver must support in its standard driver routines, see the following topics:

For more information about the HID class driver, see Operation of the HID Class Driver

Registering a HID minidriver

After a HID minidriver completes all other driver initialization in its DriverEntry routine, the HID minidriver binds its operation to the HID class driver by calling HidRegisterMinidriver.

When the HID minidriver registers with the HID class driver, it uses a HID_MINIDRIVER_REGISTRATION structure to specify the following: HID revision, the HID minidriver driver object, the size of a HID minidriver device extension, and whether devices are polled or not.

HID minidriver extension

A HID minidriver device extension is device-specific, and is only used by a HID minidriver. The HID class driver allocates the memory for the minidriver device extension when the class driver creates its device extension for a functional device object (FDO). The HID minidriver specifies the size of its device extension when it registers the minidriver with the HID class driver. The size is specified by the DeviceExtensionSize member of a HID_MINIDRIVER_REGISTRATION structure.

Using the HID_DEVICE_EXTENSION structure

A HID minidriver must use a HID_DEVICE_EXTENSION structure as the layout for the device extension created by the HID class driver for a functional device object (FDO). The HID class driver sets the members of this structure when it initializes the FDO. A HID minidriver must not change the information in this structure.

A HID_DEVICE_EXTENSION structure contains the following members:

PhysicalDeviceObject is a pointer to the physical device object (PDO) that represents the underlying input device.

NextDeviceObject is a pointer to the top of the device stack beneath the FDO.

MiniDeviceExtension is a pointer to the HID minidriver device extension.

Given a pointer to the FDO of an input device, the following GET_MINIDRIVER_DEVICE_EXTENSION macro returns a pointer to a HID minidriver extension:

PDEVICE_EXTENSION is a pointer to a device-specific device extension declared by a HID minidriver.

Similarly, a HID minidriver can obtain a pointer to the input device’s PDO and the top of the device stack beneath the input device’s FDO.

When a HID minidriver sends an IRP down the device stack, it should use NextDeviceObject as the target device object.

Standard minidriver routines

A HID minidriver must provide the following standard driver support routines:

A HID minidriver must also support the dispatch routines described in Dispatch Routines Provided by a HID Minidriver.

DriverEntry routine

The DriverEntry routine in a HID minidriver does the following:

Creates a driver object for the linked pair of drivers (HID class driver and a HID minidriver).

Sets the required driver entry points in the HID minidriver driver object.

Calls HidRegisterMinidriver to register the HID minidriver with the HID class driver.

Does device-specific configurations that are only used by the HID minidriver.

AddDevice routine

The HID class driver handles creating and initializing the functional device object (FDO) for an underlying input device. The HID class driver also operates the FDO from the perspective of the upper-level interface to the underlying device and its child devices (HID collections).

The HID class driver AddDevice routine calls the HID minidriver AddDevice routine so that the minidriver can do internal device-specific initialization.

The parameters that are passed to the HID minidriver AddDevice routine are the minidriver driver object and the FDO. (Note that the HID class driver passes the FDO to the minidriver AddDevice routine, not to the physical device object for the underlying input device.)

The HID minidriver AddDevice routine obtains a pointer to the minidriver device extension from the FDO.

Typically, the HID minidriver AddDevice routine does the following:

Initializes the minidriver device extension. The device extension is only used by the minidriver.

Returns STATUS_SUCCESS. If the minidriver returns an error status, the HID class driver deletes the FDO and returns the error status to the Plug and Play manager.

Unload routine

The Unload routine of the HID class driver calls the HID minidriver Unload routine. A HID minidriver releases any internal resources allocated by the minidriver.

Dispatch routines

A HID minidriver must supply the following dispatch routines: create, close, internal device control, system control, Plug and Play, and power management. Except for internal device control requests, most of these dispatch routines provide minimal function. When the HID class driver calls these dispatch routines, it passes the minidriver driver object and the functional device object (FDO).

IRP_MJ_CREATE

In compliance with WDM requirements, the HID class driver and a HID minidriver provide a dispatch routine for create requests. However, the FDO cannot be opened. The HID class driver returns STATUS_UNSUCCESSFUL.

A HID minidriver only needs to provide a stub. The create dispatch routine is never called.

IRP_MJ_CLOSE

In compliance with WDM requirements, the HID class driver and a HID minidriver must provide a dispatch routine for close requests. However, the FDO cannot be opened. The HID class driver returns STATUS_INVALID_PARAMETER_1.

A HID minidriver only needs to provide a stub. The close dispatch routine is never called.

IRP_MJ_DEVICE_CONTROL

A HID minidriver does not need a dispatch routine for device control requests. The HID class driver does not pass device control requests to a minidriver.

IRP_MJ_INTERNAL_DEVICE_CONTROL

A HID minidriver must provide a dispatch routine for internal device control requests that supports the requests described in HID MinidriverIOCTLs.

The HID class driver primarily uses internal device control requests to access the underlying input device.

The HID minidriver handles these requests in a device-specific way.

IRP_MJ_SYSTEM_CONTROL

A HID minidriver must provide a dispatch routine for system control requests. However, a HID minidriver is only required to pass system control requests down the device stack as follows:

Skip the current IRP stack location

Send the request down the FDO’s device stack

IRP_MJ_PNP

A HID minidriver must supply a dispatch routine for Plug and Play requests.

The HID class driver does all the Plug and Play processing associated with the FDO. When the HID class driver processes a Plug and Play request, it calls the HID minidriver Plug and Play dispatch routine.

A HID minidriver Plug and Play dispatch routine does the following:

Handles sending the request down the FDO’s device stack and completing the request on the way back up the device stack, as appropriate for each type of request.

Does device-specific processing associated with certain requests to update information about the state of the FDO.

For example, the minidriver might update the Plug and Play state of the FDO (in particular, whether the FDO is started, stopped, or in the process of being removed).

IRP_MJ_POWER

The HID minidriver must supply a dispatch routine for power requests. However, the HID class driver handles the power processing for the FDO.

In compliance with WDM requirements, a HID minidriver sends power requests down the FDO’s device stack in the following way:

Skips the current IRP stack location

Starts the next power IRP

Sends the power IRP down the FDO’s device stack

Typically, the HID minidriver passes power requests down the device stack without additional processing.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *