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


Общие примеры драйверов

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

Пример Description
Отмена безопасной очереди IRP Демонстрирует использование подпрограмм с отменой безопасной очереди IoCsqInitialize, IoCsqInsertIrp, IoCsqRemoveIrp, IoCsqRemoveIrp, IoCsqRemoveNextIrp. Используя эти подпрограммы, разработчики драйверов не должны беспокоиться о условиях отмены IRP.
Эхо KMDF Демонстрирует использование последовательной очереди для сериализации запросов на чтение и запись, представленные драйверу.
Эхо UMDF1 Демонстрирует, как использовать UMDF 1 для написания драйвера и использования рекомендаций.
Эхо UMDF2 Демонстрирует, как использовать UMDF 2 для написания драйвера и использования рекомендаций.
Пример сокета UMDF (UMDF версии 1) Демонстрирует использование UMDF для записи драйвера и демонстрации рекомендаций.
Событие оборудования Демонстрирует два разных способа, как драйвер в режиме ядра может уведомлять приложение о событии оборудования. Один из способов использует метод на основе событий, а другой использует метод на основе IRP. Пример драйвера использует DPC таймера для имитации событий оборудования.
Пример драйвера, отличного от PnP Демонстрирует запись драйвера, отличного от PnP, с помощью платформы драйверов в режиме ядра.
IOCTL Демонстрирует использование четырех различных типов операций ввода-вывода (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER и METHOD_BUFFERED).
ObCallback Демонстрирует использование зарегистрированных обратных вызовов для защиты процессов. Драйвер регистрирует обратные вызовы, которые вызываются при создании процесса.
PCIDRV В этом примере показано, как написать драйвер KMDF для устройства PCI. Пример работает с адаптером PCI Ethernet на основе Intel 82557/82558 (10/100) и совместимыми с Intel.
Счетчик ядра Демонстрирует использование библиотеки производительности в режиме ядра. Драйвер не управляет оборудованием, он просто предоставляет счетчики. Код содержит комментарии, чтобы объяснить, что делает каждая функция.
Драйвер PCI PLX9x Демонстрируется запись драйвера для универсального устройства PCI с помощью Windows Driver Framework (WDF). Целевое оборудование для этого драйвера — PLX9656/9653RDK-LITE.
RegFltr Показывает, как написать драйвер фильтра реестра.
Простой источник мультимедиа Демонстрирует запись пользовательского пакета источника мультимедиа и драйвера.
Система DMA Демонстрирует использование системы DMA версии 3. В нем показано, как драйвер может использовать системный контроллер DMA, поддерживаемый Windows, для записи данных в аппаратное расположение с помощью DMA.
Пример драйвера тостера Итеративная серия примеров, демонстрирующая основные аспекты разработки драйверов Windows для платформы драйверов в режиме ядра (KMDF) и среда выполнения платформы драйвера режима пользователя (UMDF) версии 1.
Пример пакета тостера Имитирует аппаратную и программно-первую установку образца драйвера тостера.
Пример тостера (UMDF версии 2) Итеративная серия примеров, демонстрирующая основные аспекты разработки драйверов Windows с помощью среда выполнения платформы драйвера режима пользователя (UMDF) версии 2.
EventDrv Поставщик трассировки в режиме ядра и драйвер. Драйвер не управляет оборудованием; он просто создает события трассировки. Он предназначен для демонстрации использования API трассировки событий для Windows (ETW) в драйвере.
Системный элемент управления трассировки Демонстрирует использование API-интерфейсов управления трассировкой событий для сбора событий от поставщика системной трассировки.
Tracedrv Пример драйвера, инструментированного для трассировки программного обеспечения.
Скелет драйвера UMDF Демонстрирует использование среда выполнения платформы драйвера режима пользователя для написания минимального драйвера и демонстрации рекомендаций.
Набор средств установки пакета драйверов для универсальных драйверов Иллюстрирует принципы универсального проектирования драйверов DCHU.