Как я могу создать драйвер, используя визуальную студию?

У кого-нибудь есть статья, как это сделать?

Ответы

Ответ 1

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

Visual Studio 2012, 2013 и 2015

Соответствующие современные версии DDK/WDK: WDKs 8, 8.1 и 10 (начиная с этой записи).

С WDK для Windows 8 команда WDK в Microsoft наконец предлагает полную интеграцию с Visual Studio снова из Microsoft.

Однако, хотя Visual Studio 2017 существует в младшей версии 15.4 уже к моменту этого обновления, WDK по-прежнему требует Visual Studio 2015.

Visual Studio с 2002 по 2010 год

Соответствующие современные версии DDK/WDK: DDK для Windows XP/2003 Server, WDK для Windows Vista и Windows 7 с соответствующими уровнями пакета обновления и соответствующими версиями серверов.

Эти версии были не официально поддерживаются Microsoft для создания драйверов. Единственный худший выбор для компиляции драйвера - это полная сторонняя инструментальная цепочка (кроме компилятора Intel C, который был санкционирован MS, IIRC).

В течение этого периода считалось очень плохой формой использования компиляторов Visual Studio, и Microsoft явно рекомендовала против нее. Тем не менее, С++ в режиме ядра также был нахмурился, и теперь MS предоставляет фреймворки С++ для режима ядра. Время, когда они меняются...;)

Во всяком случае, обходные пути существуют в форме ddkbuild.bat и ddkbuild.cmd, которые используют инструментальную цепочку DDK, но эффективно позволяют интегрировать полученный вызов из вашего проекта "make" внутри Visual Studio. DDKWizard - это мастер создания проекта для обоих этих скриптов. DDKWizard поддерживает не Visual Studio 2010! Ссылки на два сценария обеспечивают хорошую документацию, и DDKWizard также поставляется с достойной документацией.

Насколько мне известно, ddkbuild.cmd изначально основывается на ddkbuild.bat, а версия HollisTech также может отследить свое наследие до этой версии из OSR.

VisualDDK в сочетании с VirtualKD появился позже, чем упомянутый выше, но должен считаться более совершенным, более сложным решением. Но ваш пробег может отличаться. В любом случае интеграция в Visual Studio гораздо более полна в последнем решении.

Visual Studio 6

Соответствующие современные версии DDK/WDK: DDK для Windows NT 4 и Windows 2000.

До Windows XP DDK (теперь DDK называется WDK) компилятор не был включен в DDK, поэтому вам нужно было установить набор инструментов компилятора. Это будет иметь место для NT 4.0 и Windows 2000.

Ответ 2

Загрузите и установите VisualDDK, и вы сможете создавать проекты драйверов и отлаживать драйверы непосредственно из Visual Studio.

Ответ 3

Если вы хотите использовать DDK build и WDK, используйте ddkbuild.bat, это довольно хорошо (я думаю, что большинство из них работает все еще), которые должны были вам идти. В качестве альтернативы можно проверить ddkbuild.cmd из OSR.

Ответ 5

создайте проект make файла и в качестве команды сборки используйте следующую команду:

pushd .  
call C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP no_oacr   
popd  
build -cgwiz  

(очевидно, подгонять аргументы для setenv)

Ответ 6

Чтобы создать мой драйвер, я использовал VisualDDK в visual studio 2008. Вначале я начинаю отладку с помощью моего компьютера и машины VirtualBox, но когда я запускаю процесс отладки в visual studio, моя виртуальная машина не показывала мне внешний ip-адрес ( обычно должен показывать мне 192.168.1.102 и 10.0.1.15 в DDKLauncherMonitor, но он показывает мне только 10.0.1.15).

Я прекратил использование виртуальной машины, и я решил использовать настоящий компьютер. На втором компьютере я запустил DDKLauncherMonitor. И я начинаю отладку с моего первого компьютера. Я получил Udp-пакет на моей второй машине, а также на driver.sys. Но когда я попытался загрузить драйвер из visual studio (первый компьютер), ничего не получилось. Плюс это, во второй машине скажите мне, что "Windows требуется драйвер с цифровой подписью".

Существует один и тот же подход к решению этой проблемы, и он может помочь.

Ответ 7

В VS создайте проект make файла. Добавьте свои источники, заголовки, makefile и исходный файл. Откройте свойства проекта → Свойства конфигурации → NMake- > Стройте командную строку и напишите:

call $(WINDDK)\bin\setenv.bat $(WINDDK) fre wnet
cd /d $(ProjectDir)
build.exe -I

Теперь вы можете строить из VS. Преимущество проекта make файла: он предоставляет вам столько конфигураций, сколько вам нужно (w2k, wxp, wnet, wlh и т.д.), И вы можете построить из командной строки DDK.

P.S. fre wnet - это образец конфигурации, используйте то, что требуется для вашего проекта. Хорошо иметь конфигурации fre и chk. WINDDK - переменная среды с пути к корню DDK.