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


Создание нового драйвера программного обеспечения

В этом разделе объясняется, как использовать Visual Studio для написания нового драйвера программного обеспечения. Драйверы программного обеспечения отличаются от драйверов функций устройств, драйверов фильтров и драйверов файловой системы, которые рассматриваются в других разделах. Дополнительные сведения о драйверах программного обеспечения и о том, как они отличаются от других типов драйверов, см. в разделе Что такое драйвер? и выбор модели драйвера.

Сначала определите, какая модель драйверов подходит для драйвера программного обеспечения. Тремя вариантами являются платформа драйвера в режиме ядра (KMDF), устаревшая модель драйвера NT и модель драйвера Windows (WDM). Чтобы определить, какая модель лучше всего подходит для вас, см. Выбор модели драйвера.

Вариант 1. Вы хотите использовать KMDF

  1. В Visual Studio в меню Файл выберите Создать | Проект.
  2. В диалоговом окне "Новый проект" на панели слева найдите и выберите WDF.
  3. В средней области выберите драйвер режима ядра (KMDF).
  4. Заполните поля Имя и Место, и выберите ОК. Дополнительные сведения см. в статье Написание драйвера KMDF на основе шаблона.

    Примечание.

    При создании нового драйвера KMDF необходимо выбрать имя драйвера с 32 символами или меньше. Это ограничение длины определяется в wdfglobals.h.

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

Вариант 2. Вы хотите использовать устаревшую модель NT

  1. В Visual Studio в меню Файл выберите Новый | Проект.

  2. В Visual Studio в диалоговом окне "Новый проект" в разделе Драйвер Windowsвыберите WDM | Пустой драйвер WDM.

    Примечание.

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

  3. Введите в поля имени и местоположения, затем нажмите кнопку ОК.

  4. На этом этапе у вас есть пустой проект драйвера WDM. В окне обозревателя решений выберите и удерживайте (или щелкните правой кнопкой мыши) проект драйвера и выберите Добавить | Новый элемент.

  5. В диалоговом окне "Добавить новый элемент" выберите файл C++ (.cpp), введите имя файла и нажмите кнопку ОК.

    Примечание.

    Если вы хотите создать C-файл вместо файла .cpp, введите имя с расширением .c.

  6. Включите ntddk.h.

  7. Реализуйте функции, необходимые драйверу программного обеспечения. При реализации и упорядочении функций можно добавить файлы заголовков и дополнительные .cpp или C-файлы.

Вариант 3. Вы хотите использовать WDM

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

  1. В Visual Studio в меню Файл выберите Создать | Проект.

  2. В Visual Studio в диалоговом окне "Новый проект" в разделе драйвер Windowsвыберите WDM.

  3. Введите в поля Имя и Местоположение, затем нажмите ОК.

  4. На этом этапе у вас есть пустой проект драйвера WDM. В окне обозревателя решений выберите и удерживайте (или щелкните правой кнопкой мыши) проект драйвера и выберите Добавить | Новый элемент.

  5. В диалоговом окне "Добавить новый элемент" выберите файл C++ (.cpp), введите имя файла и нажмите кнопку ОК.

    Примечание.

    Если вы хотите создать C-файл вместо файла .cpp, введите имя с расширением .c.

  6. Включите wdm.h.

  7. Реализуйте функции, необходимые драйверу программного обеспечения. При реализации и упорядочении функций можно добавить файлы заголовков и дополнительные .cpp или C-файлы.