Создание нового драйвера функции устройства
В этой статье мы объясним, как использовать Visual Studio для создания нового драйвера функции устройства. Драйверы функций устройств отличаются от драйверов фильтров, программных драйверов и драйверов файловой системы, которые рассматриваются в других статьях. Дополнительные сведения о драйверах функций устройств и их отличиях от других типов драйверов см. в разделах Что такое драйвер?, Выбор модели драйвера и Узлы устройств и стеки устройств.
Для начала определите, где ваше устройство помещается в список технологий, описанных в разделе Технологии устройств и драйверов. Сведения о том, какие модели драйверов доступны для вашего устройства, см. в документации по этой конкретной технологии. Рекомендуемая модель драйвера зависит от технологии. Для некоторых технологий в документации рекомендуется использовать платформу драйвера пользовательского режима (UMDF) или платформу драйверов в режиме ядра (KMDF). Для других технологий в документации объясняется, как создать мини-диск, который является частью пары драйверов. Миниприводы идут под различными названиями, в том числе miniport и miniclass.
Определите, в каком из следующих случаев описывается рекомендация по модели драйвера, и выполните указанные ниже действия.
Вариант 1. В документации по вашей технологии рекомендуется использовать UMDF
- Запустите Visual Studio.
- Выберите Создать проект в диалоговом окне запуска или выберите Создать | Проект в меню Файл Visual Studio.
- В правой области диалогового окна Создание проекта найдите и выберите Драйвер пользовательского режима (UMDF V2).
- Выберите Далее.
- Введите поля Имя проекта, Расположение и Имя решения , а затем нажмите кнопку Создать. Дополнительные сведения см. в статье Написание драйвера UMDF на основе шаблона.
Примечание
При создании нового драйвера UMDF необходимо выбрать имя драйвера, которое содержит не более 32 символов. Это ограничение длины определяется в wdfglobals.h.
- На этом этапе у вас есть проект драйвера, который реализует общий код, необходимый для большинства драйверов UMDF. Теперь вы можете указать код, относящееся к вашему устройству. Сведения об интерфейсах, которые необходимо реализовать, см. в документации по вашей технологии.
Вариант 2. Документация по вашей технологии рекомендует KMDF
- Запустите Visual Studio.
- Выберите Создать проект в диалоговом окне запуска или выберите Создать | Проект в меню Файл Visual Studio.
- В правой области диалогового окна Создание проекта найдите и выберите Драйвер режима ядра (KMDF).
- Выберите Далее.
- Введите поля Имя проекта, Расположение и Имя решения , а затем нажмите кнопку Создать. Дополнительные сведения см. в статье Написание драйвера KMDF на основе шаблона.
Примечание
При создании нового драйвера KMDF необходимо выбрать имя драйвера, которое содержит не более 32 символов. Это ограничение длины определяется в wdfglobals.h.
- На этом этапе у вас есть проект драйвера, который реализует общий код, необходимый для большинства драйверов KMDF. Теперь вы можете указать код, относящееся к вашему устройству. Сведения о методах, которые необходимо реализовать, см. в документации по вашей технологии.
Вариант 3. В документации по вашей технологии описывается модель мини-драйвера
Если у вашей технологии устройства есть мини-порт, мини-класс или другая модель мини-накопителя, проверка, чтобы узнать, есть ли в Visual Studio определенный шаблон для модели.
- Запустите Visual Studio.
- Выберите Создать проект в диалоговом окне запуска или выберите Создать | Проект в меню Файл Visual Studio.
- В правой области диалогового окна Создание проекта просмотрите список установленных шаблонов, чтобы найти шаблон для типа драйвера, который необходимо написать.
- Если вы нашли шаблон для вашего типа драйвера, выберите его.
- Выберите Далее.
- Введите поля Имя проекта, Расположение и Имя решения , а затем нажмите кнопку Создать.
- Если у вас есть мастер драйверов, выполните шаги мастера, чтобы создать проект драйвера.
- На этом этапе у вас есть проект драйвера, который реализует общий код, необходимый драйверу. Теперь вы можете указать код, относящееся к вашему устройству. Сведения о функциях, которые необходимо реализовать, см. в документации по вашей технологии.
Если у вашей технологии устройства есть модель мини-накопителя и вы не можете найти конкретный шаблон для вашего типа мини-накопителя, скорее всего, отправной точкой будет шаблон Windows Driver Model (WDM). Инструкции см. в документации по конкретной технологии. В редких случаях для записи мини-драйвера можно использовать KMDF, но обычно отправной точкой является WDM.
- Запустите Visual Studio.
- Выберите Создать проект в диалоговом окне запуска или выберите Создать | Проект в меню Файл Visual Studio.
- В правой области диалогового окна Создание проекта найдите и выберите Пустой драйвер WDM.
- Выберите Далее.
- Введите поля Имя проекта, Расположение и Имя решения , а затем нажмите кнопку Создать.
- На этом этапе у вас есть пустой проект драйвера WDM. В окне Обозреватель решений щелкните правой кнопкой мыши проект драйвера и выберите добавить | Новый элемент.
- В диалоговом окне Добавление нового элемента введите имя файла .cpp и нажмите кнопку Добавить.
Примечание
Если вы хотите создать C-файл вместо файла .cpp, введите имя с расширением .c .
- Сведения о функциях, которые необходимо реализовать, см. в документации по вашей технологии. По мере реализации и упорядочения функций вы можете добавить дополнительные .cpp или C-файлы.