- Download the Windows Driver Kit (WDK)
- Runtime requirements
- WDK for Windows 10, version 2004
- Step 1: Install Visual Studio 2019
- Step 1.5 Install Refreshed Windows SDK 10.0.19041.685 for Windows 10, version 2004
- Step 2: Install Refreshed WDK for Windows 10, version 2004
- Enterprise WDK (EWDK) for Windows 10, version 2004
- EWDK with Visual Studio Build Tools
- Driver samples for Windows 10
- WinDDK-7 вот , что нужно для создания драйвера
- Далее просто пробуем написать простейший kernel драйвер
- Отладка
- Windows ddk что это
- Комплект драйверов Windows — Windows Driver Kit
- СОДЕРЖАНИЕ
- История
- Версии DDK
Download the Windows Driver Kit (WDK)
The WDK is used to develop, test, and deploy Windows drivers.
Runtime requirements
You can run the Windows 10, version 2004 WDK on Windows 7 and later, and use it to develop drivers for these operating systems:
Client OS | Server OS |
---|---|
Windows 10 | Windows Server 2019, Windows Server 2016 |
Windows 8.1 | Windows Server 2012 R2 |
Windows 8 | Windows Server 2012 |
Windows 7 | Windows Server 2008 R2 SP1 |
WDK for Windows 10, version 2004
Step 1: Install Visual Studio 2019
The WDK requires Visual Studio. For more information about system requirements for Visual Studio, see Visual Studio 2019 System Requirements.
The following editions of Visual Studio 2019 support driver development for this release:
When you install Visual Studio 2019, select the Desktop development with C++ workload. The Windows 10 Software Development Kit (SDK) is automatically included, and is displayed in the right-hand Summary pane. Note that the version of the SDK that is compatible with the WDK for Windows 10, version 2004 may not be the default SDK. To select the correct SDK:
In Visual Studio Installer, on the Individual components tab, search for Windows 10 SDK (10.0.19041.0), select this version and continue with install. Note that Visual Studio will automatically install Windows 10 SDK (10.0.19041.1) on your machine.
If you already have Visual Studio 2019 installed, you can install the Windows 10 SDK (10.0.19041.1) by using the Modify button in Visual Studio install.
WDK has Spectre mitigation enabled by default but requires spectre mitigated libraries to be installed with Visual Studio for each architecture you are developing for. Additionally, developing drivers for ARM/ARM64 require the build tools for these architectures to also be installed with Visual Studio. To locate these items you will need to know the latest version of MSVC installed on your system.
To find the latest version of MSVC installed on your system, in Visual Studio Installer go to workload page, on the right pane under installation details, expand Desktop development with C++ and locate the MSVC v142 — VS 2019 C++ x64/x86 build tools (V14.xx) — note where xx should be the highest version available.
With this information (v14.xx), go to Individual components and search for v14.xx. This will return the tool sets for all architectures, including Spectre mitigated libs. Select the driver architecture you are developing for.
For example, searching for v14.25 returns the following:
Step 1.5 Install Refreshed Windows SDK 10.0.19041.685 for Windows 10, version 2004
This SDK is strongly recommended and will eventually be made available through Visual Studio
Step 2: Install Refreshed WDK for Windows 10, version 2004
The WDK Visual Studio extension is included in the default WDK installation.
If you can’t find driver project templates in Visual Studio, the WDK Visual Studio extension didn’t install properly. To resolve this, run the WDK.vsix file from this location: C:\Program Files (x86)\Windows Kits\10\Vsix\VS2019\WDK.vsix.
Enterprise WDK (EWDK) for Windows 10, version 2004
The EWDK is a standalone, self-contained command-line environment for building drivers. It includes the Visual Studio Build Tools, the SDK, and the WDK. The latest public version of the EWDK contains Visual Studio 2019 Build Tools 16.7.0 and MSVC toolset v14.23. To get started, mount the ISO and run LaunchBuildEnv.
The EWDK also requires the .NET Framework version 4.7.2. For more information about other requirements for the .NET Framework, see .NET Framework system requirements.
EWDK with Visual Studio Build Tools
You can use the Visual Studio interface with the build tools provided in the EWDK.
- Mount the EWDK ISO.
- Run LaunchBuildEnv.cmd .
- In the environment created in step 2, type SetupVSEnv, and then press Enter.
- Launch devenv.exe from the same environment, using the full file path. Example: «C:\Program Files (x86)\Microsoft Visual Studio\2019\\%Community|Professional|Enterprise%\Common7\IDE\devenv.exe»
Note that the Visual Studio major version should match with the version in the EWDK. For example, Visual Studio 2019 works with the EWDK that contain VS16.X build tools.
Driver samples for Windows 10
To download the driver samples, do one of the following:
- Go to the driver samples page on GitHub, click Clone or download, and then click Download ZIP.
- Download the GitHub Extension for Visual Studio, and then connect to the GitHub repositories.
- Browse the driver samples on the Microsoft Samples portal.
WinDDK-7 вот , что нужно для создания драйвера
У нас Windows 10-64.
Задача разработать например драйвер устройства под Windows.
Устанавливаем Windows Device Driver Kit 7 :
Скачиваем с офф.сайта microsoft ISO, разархивируем , запустим KitSetup.exe
Так выглядят в Панель управления\Программы\Программы и компоненты
Установлен у меня в C:\WinDDK\7600.16385.1
В C:\WinDDK\7600.16385.1\src много примеров исходных кодов.
Примечание : если у вас уже установлен Win Driver Kit 10 , то придется удалить.
Фишка в том , что сборку надо запускать через запуск сначала командного файла (который устанавливает переменные среды) :
см. Пуск->Windows Driver
Открывается консоль, где и надо ввести build (в каталоге вашего проекта). Процесс сборки выглядит примерно так:
Для x64 входим через C:\Windows\System32\cmd.exe /k C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ fre x32-64
Windows 10 — надо сначала отключить проверку цифровой подписи (у меня срабатывает при нажатой SHIFT + клик Перезагрузка)
Отключаем.
Далее просто пробуем написать простейший kernel драйвер
На самом деле в дальнейшем в этой ветке сайта мы будем заниматься UMDF драйверами, но для проверки первого драйвера подвернулся пример driver.sys (kernel драйвер, драйвер уровня ядра)
Компилируем простейший драйвер (sys — кернел драйвер)
Для варианта сборки x86 пробуем зарегистрировать драйвер
Для варианта сборки amd64 получаем
Теперь по другому пробуем проверить запущен ли все-таки драйвер через программу OSR Driver Loader:
Получается драйвер все-таки запускается несмотря на ругань по поводу сертификата.
Смотрим например еще так :
Osr driver loader — прекрасно и сама регистрирует / запускает / останавливает / удаляет драйвер. Только не забывайте перезагружаться.
Отладка
У нас на сайте см. отдельный раздел по отладке драйверов.
Windows ddk что это
Статьи этого раздела описывают примеры и технологию разработки драйверов для ОС Windows XP. Т.е. в каком-то смысле данный материал следует рассматривать как «археологический».
Прежде чем погружаться в дебри программирования драйверов, нам сначало надо подготовить себе среду для работы, подготовить инструментарий так сказать. Наверное, те читатели которые уже пытались побороться с драйверами, слышали о неком DDK или Driver Development Kit, если расшифровать сокращение. Этот DDK и есть то средство без которого мы ничего сделать не сможем. В состав комплекса входят:
- собственно сам компилятор, который из написанного нами кода сделает драйвер
- файлов справки и примеров написанных драйверов (необольщайтесь, чтобы разобраться с каждым из примеров, уже подготовленному программисту надо потратить 1-2 недели, а лезть туда новичку вообще гиблое дело — желание изучать программирование драйверов пропадет сразу. Это обусловлено тем, что все примеры представляют из себя просто исходный код с коротеньким пояснением что этот драйвер делает.)
- дополнительных программ, которые могут пригодиться при отладке и тестировании драйверов
Хочу сразу огорчить, сообщив что компилятор DDK не является удобной визуальной средой программирования, как например Visual Studio C++. Общение с ним выливается в работу с командной строкой. И вообще приготовтесь к тому, что программировать драйвера в DDK не самое простое и удобное занятие.
Если Вы еще не передумали бороться с драйверами, то продолжим дальше. Теперь надо этот DDK где-то достать. DDK можно найти в интеренете в свободном виде для скачивания. Однако, размер файла составляет
140 MБ, из-за чего этот путь добычи некоторых читателей может не устроить. В свое время он меня тоже не устроил (у меня тогда еще телефонный модем стоял) и я пошел копаться по рынкам. Найти диск DDK оказалось нет просто, как я думал. Слишком тематика узкая. Вот например, что-нибудь типа «Windows для начинающих» или «Office для чайников» — это пожалуйста, а DDK я пол дня искал — случайно на Савеловском нашел.
Обратите внимание! Нам нужен DDK XP, который предназначен для Windows 2000, XP а не DDK 98, который работает для 98, Me.
Итак, надеюсь, что Вы раздобыли диск DDK XP. Теперь давайте установим этот «чудо» программный продукт от Microsoft на свой компьютер.
Вставляем диск (распаковываем скаченный архив), запускаем установку. Должно появиться окошко, показанное ниже. Долго не раздумывая, нажимаем Далее.
Конечно же соглашаемся с лицензионным соглашением и опять нажимаем Далее.
Здесь выбираем путь установки DDK. По умолчанию комплекс уснанавливается в корневой каталог в папку WINDDK. Менять ничего не будем. Ставим как есть. Нажимаем Далее.
Здесь можно управлять комплектацией установки. Обязательно поставьте галочки во всех пунктах утсановки, поскольку исходная конфигурация не предусматривает установку примеров. Нажимаем Далее.
Услужливый инсталятор сообщает нам данные по установке и просит подтверждения. Не будем его задерживать и нажимаем Далее.
После этого начнется процесс копирования файлов.
По завершению установки должно появиться окно, показанное ниже, в котором помимо времени затраченного на установку еще будет сообщение об успешной установке DDK. Нажимаем Готово.
Все. Установка прошла успешно. В меню Пуск по указанному пути должны появиться ссылки на консольные приложения, с помощью которых мы будем в дальнейшем компилировать наш драйвер.
В директории C:\WINDDK\2600.1106\help\ теперь можно найти справочные файлы по DDK, а в C:\WINDDK\2600.1106\src\ находятся примеры готовых драйверов. Можете попробовать на досуге покопаться там. Не волнуйтесь, если у Вас «глаза на лоб вылезли» после погружения в эти папки. Вы не первый и не последний.
Итак, мы сделали первый шаг на пути к освоению программирования драйверов Windows. Теперь у нас есть все необходимые инструменты для работы с драверами на начальном этапе. В следующей части статьи мы начнем писать наш первый драйвер под Windows XP для управления портами.
Комплект драйверов Windows — Windows Driver Kit
Разработчики) | Microsoft |
---|---|
Начальная версия | 1992 ; 29 лет назад ( 1992 ) |
Стабильный выпуск | |
Операционная система | Майкрософт Виндоус |
Доступно в | английский |
Лицензия | Проприетарное коммерческое программное обеспечение |
Веб-сайт | документы .microsoft .com / en-us / windows-hardware / drivers / index |
Driver Kit для Windows ( WDK ) представляет собой программный набор инструментов от Microsoft , что позволяет разрабатывать драйверы устройств для Microsoft Windows платформы. Он включает документацию, образцы, среды сборки и инструменты для разработчиков драйверов. Для полного набора инструментов для разработки драйверов также потребуется следующее: компилятор Visual Studio , Windows SDK и Windows HLK .
СОДЕРЖАНИЕ
История
Ранее WDK назывался комплектом разработки драйверов (DDK) и поддерживал разработку модели драйверов Windows (WDM). Свое нынешнее название он получил, когда Microsoft выпустила Windows Vista и добавила в комплект следующие ранее разделенные инструменты: Installable File System Kit (IFS Kit), Driver Test Manager (DTM), хотя DTM позже был переименован и снова удален из WDK.
DDK для Windows 2000 и более ранних версий не включает компилятор; вместо этого вам нужно было установить Visual C ++ отдельно для компиляции драйверов. Начиная с версии для Windows XP, DDK и более поздние версии WDK включают компилятор командной строки для компиляции драйверов. Одна из причин, по которой Microsoft указала на включение компилятора, заключалась в том, что качество драйверов улучшилось бы, если бы они были скомпилированы с той же версией компилятора, которая использовалась для компиляции самой Windows, в то время как Visual C ++ нацелен на разработку приложений и имеет другой цикл продукта. с более частыми изменениями. Серия WDK 8.x и более поздние восходит к требованию отдельной установки согласованной версии Visual Studio , но на этот раз интеграция более полная: вы можете редактировать / создавать / отлаживать драйвер напрямую из Visual Studio.
Версии DDK
Версия | Номер сборки | Дата выпуска |
---|---|---|
Windows 3.0 DDK | 1990 г. ( 1990 ) | |
Windows 3.1 DDK | 1992 г. ( 1992 ) | |
Windows NT 3.1 DDK | 1993 г. ( 1993 ) | |
Windows NT 3.5 DDK | 1994 г. ( 1994 ) | |
Windows NT 3.51 DDK | 1025,1 | Июль 1995 г. ( 1995-07 ) |
Windows 95 DDK | Октябрь 1995 г. ( 1995-10 ) | |
Windows 95 DDK a | Июнь 1996 г. ( 1996-06 ) | |
Windows 95 DDK b | ||
Windows 95 DDK c (MSDN, июль 1998 г.) | Июнь 1998 г. ( 1998-06 ) | |
Windows NT DDK (для Windows NT Workstation 3.51) | Июль 1996 г. ( 1996-07 ) | |
Windows NT DDK (для Windows NT Workstation 4.0) | 1381,1 | Август 1996 г. ( 1996-08 ) |
Windows 98 DDK | Июль 1998 г. ( 1998-07 ) | |
Windows 98 SE DDK | Май 1999 г. ( 1999-05 ) | |
Windows 2000 DDK | 2195,1 | Февраль 2000 г. ( 2000-02 ) |
Комплект разработчика драйверов для Windows XP (DDK) | 2600 | 21 сентября 2001 г. ( 2001-09-21 ) |
Комплект разработчика драйверов Windows XP SP1 (DDK) | 2600.1106 | 14 ноября 2002 г. ( 2002-11-14 ) |
Windows Server 2003 DDK | 3790 | 9 апреля 2003 г. ( 2003-04-09 ) |
Windows Server 2003 с пакетом обновления 1 DDK | 3790.1830 | 6 апреля 2005 г. ( 2005-04-06 ) |
Примечание. Windows NT DDK, Windows 98 DDK и Windows 2000 DDK больше не предоставляются Microsoft из-за соглашений, связанных с Java, сделанных Microsoft с Sun Microsystems.