Примеры драйверов Kernel-Mode
WDK предоставляет различные примеры драйверов режима ядра. После установки WDK подкаталог src\general
содержит пример кода драйвера, применимый ко всем драйверам в режиме ядра. Примеры также поддерживаются в сети. Эти примеры включают следующее:
Применяет принципы проектирования DCH (декларативные, компоненты и приложения поддержки оборудования [HSA]). Его можно использовать в качестве модели для собственного пакета драйверов Windows.
В этом примере показано, как написать драйвер для универсального устройства PCI с помощью Windows Driver Framework.
В этом примере показано, как создать пользовательский источник мультимедиа и пакет драйверов, который можно установить в качестве камеры и создать кадры.
В этом примере показано использование системного DMA версии 3. В нем показано, как драйвер может использовать системный контроллер DMA, поддерживаемый Windows, для записи данных в аппаратное расположение с помощью DMA.
WinHEC 2017/Оптимизация производительности Windows
Демонстрирует использование очередей IRP с безопасной отменой.
Демонстрирует методы, которые драйверы режима ядра могут использовать для уведомления приложений о событиях оборудования, если приложение запрашивает уведомление. В одном методе используются объекты событий , а в другом — постановка в очередь запроса уведомления до тех пор, пока не произойдет событие.
Пример FileHistory — это консольное приложение, которое запускает службу журнала файлов, если она остановлена, и планирует регулярное резервное копирование. Приложение требует, чтобы в качестве параметра командной строки в качестве целевого объекта резервного копирования по умолчанию использовался путь к устройству хранения.
Демонстрирует, как драйверы должны поддерживать коды управления вводом-выводом.
Пример драйвера ObCallback демонстрирует использование зарегистрированных обратных вызовов для защиты процессов. Драйвер регистрирует обратные вызовы управления, которые вызываются при создании процесса.
В этом примере показано, как написать драйвер KMDF для устройства PCI. Этот пример работает с адаптером PCI Ethernet на основе Intel 82557/82558 (10/100) и Intel.
Пример драйвера Kcs демонстрирует использование библиотеки производительности в режиме ядра.
В примере RegFltr показано, как написать драйвер фильтра реестра.
Предоставляет пример кода для набора драйверов, соответствующих модели драйверов Windows (WDM). Этот пример также включает пример программного обеспечения для установки.
Показывает, как использовать трассировку программного обеспечения WPP.
В этом примере показано, как использовать версию 1 платформы User-Mode Driver Framework для написания минимального драйвера.
Драйвер фильтра KMDF Firefly для устройства HID Наряду с тем, как написать драйвер фильтра, в этом примере показано, как использовать интерфейсы удаленного ввода-вывода для открытия коллекции HID в режиме ядра и отправки запросов IOCTL для установки и получения отчетов о функциях, а также как приложение может использовать интерфейсы WMI для отправки команд в драйвер фильтра.
Другие подкаталоги \src
каталога содержат пример кода для драйверов в режиме ядра для различных типов оборудования.
См. также раздел
Примеры драйверов Microsoft Windows на GitHub