- 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
- Комплект драйверов Windows — Windows Driver Kit
- СОДЕРЖАНИЕ
- История
- Версии DDK
- Windows Driver Kit 7.1.0
- Похожие программы
- Windows Driver Kit
- Форумы Modlabs.net: Программирование драйверов устройств для чайников — Форумы Modlabs.net
- Программирование драйверов устройств для чайников
- #1 dE fENDER
- #2 dE fENDER
- #3 White
- #4 dE fENDER
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.
Комплект драйверов 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.
Windows Driver Kit 7.1.0
Windows Driver Kit — это мощный и всеобъемлющий набор примеров кода, утилит, компиляторов, документации, заголовков и библиотек, которые позволят вам создавать драйверы для различных версий MS Windows, таких как Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows XP, Windows Vista и Windows 7.
Эта коллекция не предлагает драйверы устройств для вашего компьютера. Для использования этого мощного приложения вы должны иметь практические знания языка программирования Си. Приложение поможет вам создать драйверы для различных устройств, компьютеров и систем. Также возможна бесшовная интеграция с Microsoft Visual Studio.
Название | Windows Driver Kit |
---|---|
Версия | 7.1.0 |
Разработчик | Microsoft Corp. |
Домашняя страница продукта | Windows Driver Kit |
Лицензия | Бесплатно (Freeware) |
Загрузки прошлой недели | 9 |
Все время загрузки | 12007 |
Размер файла | 619.8MB |
Поддержка ОС | Win 7 / Server 2008 |
Категория | Инструменты разработчика |
Похожие программы
LimeWire 5.4.6
Бесплатная и мощная программа для обмена файлами.
PS3 Emulator 1.1.7
Эмулятор Sony PlayStation PS3.
Wise Care 365 5.2.1.513
Программное обеспечение для очистки и оптимизации ПК.
WinMerge 2.16.2
Инструмент для управления файлами и каталогами.
Directory Opus 12.14
Файловый менеджер для Microsoft Windows.
NetDrive 3.7.687
Сетевой диск для Windows.
Tweaking.com — Windows Repair 4.4.8
Многофункциональное программное обеспечение для восстановления, помогающее устранять многие проблемы с Windows.
Windows Driver Kit
Набор инструментальных средств Windows Driver Kit (WDK) также доступен по программе подписки MSDN и точно так же, как и Windows SDK, его можно свободно скачать с сайта. Документация по Windows Driver Kit включена в библиотеку MSDN.
Хотя набор WDK предназначен для разработчиков драйверов устройств, он является обширным источником информации о внутреннем устройстве Windows.
А в документации по WDK содержится полное описание всех Windows-функций поддержки ядра и механизмов, используемых драйверами устройств как в виде учебного пособия, так и в виде справочника.
В WDK, помимо документации, содержатся заголовочные файлы (в частности, ntddk.h, ntifs.h и wdm.h), определяющие ключевую внутреннюю структуру данных и константы, а также интерфейсы ко многим внутренним системным подпрограммам. Эти файлы пригодятся при исследовании внутренних структур данных Windows, используемых при отладке ядра.
В WDK дается полное описание таких структур (например, заголовков для диспетчера объектов, блоков ожидания, событий, мутантов, семафоров и т. д.).
При желании углубиться в изучение системы ввода-вывода и модели драйверов, читайте WDK-документацию (особенно Руководство по устройству архитектуры драйверов, работающих в режиме ядра — Kernel-ModeDriverArchitectureDesignGuide, и Справочные руководства). Также могут пригодиться книги Уолтера Они (Walter Oney) «Использование Microsoft Windows Driver Model», второе издание (Питер, 2007) и Пенни Орвика (Penny Orwick) и Гая Смита (Guy Smith) «Windows DriverFoundation. Разработкадрайверов» (BHV, 2008).
Форумы Modlabs.net: Программирование драйверов устройств для чайников — Форумы Modlabs.net
- Форумы Modlabs.net
- >Тематические форумы
- >Программное обеспечение
- >Программы
- Просмотр новых публикаций
Программирование драйверов устройств для чайников
#1
dE fENDER
- Member
- Группа: Пользователи
- Сообщений: 271
- Регистрация: 18 Декабрь 08
#2
dE fENDER
- Member
- Группа: Пользователи
- Сообщений: 271
- Регистрация: 18 Декабрь 08
В этой теме я планирую дать серию уроков, которые позволят любому человеку получить базовое представление о том, как устроена система взаимодействия прикладного ПО и драйверов ОС Windows, научиться читать исходные коды существующих драйверов устройств или написать свой собственный драйвер, работающий с его собственным устройством.
Также эти уроки могут помочь аудитории владельцев видеокарт с графическими чипами, произведенными компанией 3dfx, разобраться в доступных исходных кодах драйверов этих видеокарт. Упомянутые исходники могут быть с наименьшим количеством переделок откомпилированы под Windows XP/Windows 2003 Server, которые и будут являться основной целевой системой. В более современной Windows Vista/7 несколько изменилась модель драйверов, наиболее сильно это затронуло графическую подсистему. Это означает, что для их корректной работы придется переписать весьма значительную часть кода. Кроме того, под х64 версиями Vista/7 и более старших операционных систем просто так нельзя загрузить драйвер, не имеющей цифровой подписи. Подпись стоит порядка 500 долларов в год (150, если найти купон на скидку), их не любят давать частным лицам и даже небольшим организациям. Кроме того, если в подписанном драйвере обнаружится уязвимость и ей воспользуются хакеры – то подпись данного [почти всегда юридического] лица аннулируется и у него возникают проблемы с получением новой. Еще есть такая процедура, как WHQL-сертификация, но ее я вообще не собираюсь пока здесь обсуждать.
Весьма приветствуется, если другие люди будут давать здесь свои собственные уроки, не выходящие за пределы темы. Также здесь можно задавать любые вопросы, предлагать свои идеи для следующих уроков и отписываться об своих удачных/неудачных результатах.
Для начала работы требуется иметь некоторое знакомство с любым языком программирования. Думаю, для этого вполне достаточно школьного / вузовского курса для непрограммистов. Если же в современных программах образования знакомство с программированием не было предусмотрено/за давностью лет курс забыт или просто что-то непонятно – отписывайтесь в теме, я напишу другие уроки, подробней раскрывающие непонятную тему.
#3
White
- Белый человер
- Группа: Главный Администратор
- Сообщений: 11 903
- Регистрация: 16 Июль 05
#4
dE fENDER
- Member
- Группа: Пользователи
- Сообщений: 271
- Регистрация: 18 Декабрь 08
Урок 0. Установка и настройка программного обеспечения
Список используемого программного обеспечения:
- Windows XР или Windows 2003 Server х86 – операционная система, под которую будем писать драйверы;
- Visual Studio 2010 – среда разработки приложений на языках С/С++ и других. Будет использоваться для написания различных простых прикладных программ, в т.ч. и управляющей программы драйвера. Можно попробовать воспользоваться Visual Studio 11 beta, которая доступна для скачивания по ссылке — http://www.microsoft. studio/11/en-us;
- Windows Driver Kit – набор инструментов, необходимых для разработки драйвера. Включает в себя компилятор, заголовочные файлы и много другого. Требуется версия 7.1.0, ее можно взять по ссылке
http://www.microsoft. ang=en&id=11800; - VMWare – при отсутствии физической машины операционную систему можно запустить в виртуальной. Это также безопаснее при разработке — при ошибке в драйвере система уйдет в синий экран;
- Daemon Tools – средство для открытия образов CD и DVD дисков в формате iso. WDK распространяется в виде такого образа. В случае использования VMWare использовать не обязательно, т.к. VMWare умеет монтировать такие образы самостоятельно. Бесплатную lite-версию можно скачать здесь: http://www.disc-tool. download/daemon
- DebugView – утилита Марка Руссиновича, которая позволяет увидеть текстовые сообщения, выдаваемые драйверами, собранными в отладочном режиме. Скачивать здесь — http://technet.micro. ernals/bb896647
- Far Manager – файловый менеджер, с которым легче работать с консольными утилитами. Взять можно здесь — http://www.farmanage. wnload.php?l=ru.
Все используемое мною программное обеспечение – на английском языке. В большинстве случаев можно использовать и русские версии, но может возникнуть путаница в командах или другие проблемы с совместимостью. Для начала работы потребуется компьютер с установленной обычной 32-разрядной Windows XP/2003. Продвинутые пользователи могут пользоваться необычной – отладочной, она же — checked build. Эта версия показывает больше информации при отладке устройств. Обычная же версия Windows носит название free build. Компьютер для экспериментов может быть как реальным, так и виртуальным. Разрабатываемые программы я буду проверять на одной реальной машине и одной виртуальной. На обоих установлен Windows Server 2003 R2 Enterprise Edition c SP2. Виртуальная машина запущена под VMWare Workstation 8.0.2.
Установка Visual Studio
Я буду использовать Visual Studio 2010 Ultimate. В принципе, ставить ее не обязательно, так как все необходимые инструменты, включая компилятор и заголовки есть и в WDK. Но для написания прикладных программ, в особенности для новичка, она намного удобней вызова компилятора из консоли. Если ее все же планируется установить, то лучше делать это перед установкой WDK.
Берем диск со студией в iso-формате, монтируем его в Daemon Tools, либо подключаем как компакт-дисковод в VMWare. Запускаем с диска setup.exe, выбираем «Install Microsoft Visual Studio 2010». На следующем шаге под Windows 2003 может появится сообщение, что требуется Windows Imaging Component. Щелкаем по этой строке, запускается браузер – скачиваем подходящий по языку операционной системы (у меня английский, значит wic_x86_enu.exe), устанавливаем. Заново запускаем setup.exe с диска. Нажимаем Next, соглашаемся с лицензионным соглашением, затем идет выбор типа установки. Выбираем Custom, изменяем путь установки – для избежания ошибок Visual Studio и все любые другие инструменты следует ставить по максимально короткому пути без русских букв и пробелов. Мой вариант – C:\Programs\VS10. Следующая страница – выбор пакетов. Устанавливаем в соответствии с рисунком:
Рис 0.1 – Выбор пакетов в установщике Visual Studio
Кроме показанных, можно также выбрать «Visual C#». C# бывает полезен для расширения возможностей самой Visual Studio и написания небольших утилит. Нажимаем Install. Кроме самой студии ставится куча бесполезной, ненужной и вредной дряни. Если на компьютере была старая версия Windows Installer’а – потребуется перезагрузка. После установки – Finish, Exit.
Установка WDK
Монтируем скачанный iso-образ аналогично тому, как это было сделано с Visual Studio. Запускаем KitSetup.exe, на этапе выбора пакетов устанавливаем галочки в соответствии с рисунком:
Рис 0.2 – Выбор пакетов в установщике WDK
Нажимаем Ок, укорачиваем путь установки до C:\WinDDK, может появится окно установки .net 2.0. Устанавливаем .net. Появляется окно с лицензией WDK, соглашаемся. Ждем завершения установки. Нажимаем Finish. Установочный диск WDK не удаляем, а сохраняем до лучших времен, предыдущую версию 7.0 невозможно было корректно удалить без образа именно того диска, с которого ее устанавливали.
Устанавливать Visual Studio и WDK не обязательно на той же машине, на которой планируется проверять работу программ. Для проверки я поставил их на реальной машине с Windows 7 х64 и откомпилировал драйвер, который заработал под Windows 2003 Server х86.
Создаем на диске каталог для проектов, учитывая вышеописанные рекомендации (без пробелов и русских букв), например C:\Projects. Запускаем Visual Studio, открываем настройки (меню Tools/Option), выбираем в дереве «Projects and Solutions/General», в параметре Projects location выбираем/указываем созданный каталог.
Также настоятельно рекомендую установить Far Manager 2 и работать через него. Его преимущество над Windows/Total Commander’ами и Explorer’ами в том, что через него нормально видно содержимое консоли (команда ctrl + O), куда выдается полезная информация при компиляции и запуске консольных программ. Путь установки желательно записать в переменную PATH.
В дальнейшем рассмотрим и драйверы для Windows 9x. Для этого потребуется другое программное обеспечение, но программирование драйверов для Windows 9x проще.