Windows driver kit что это

Обновлено: 05.07.2024

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.

Download the Windows Driver Kit (WDK)

The WDK is used to develop, test, and deploy drivers for Windows.

СОДЕРЖАНИЕ

Далее просто пробуем написать простейший kernel драйвер

На самом деле в дальнейшем в этой ветке сайта мы будем заниматься UMDF драйверами, но для проверки первого драйвера подвернулся пример driver.sys (kernel драйвер, драйвер уровня ядра)

Компилируем простейший драйвер (sys - кернел драйвер)

Для варианта сборки x86 пробуем зарегистрировать драйвер

фотка 1

Для варианта сборки amd64 получаем

фотка 2

Теперь по другому пробуем проверить запущен ли все-таки драйвер через программу OSR Driver Loader:

фотка 3

Получается драйвер все-таки запускается несмотря на ругань по поводу сертификата.

Смотрим например еще так :

Osr driver loader - прекрасно и сама регистрирует / запускает / останавливает / удаляет драйвер. Только не забывайте перезагружаться.

Download and install the Windows 11 WDK

download icon.
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 Windows 11 WDK may not be the default installed with Visual Studio. To get the compatible version of the SDK please use the link in step 2 below.

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/ARM64EC 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. Alternatively you can search for 'Latest' and the most recent version of MSVC will be displayed to select.

For example, searching for Latest returns the following:

download icon.
Step 2: Install Windows 11 SDK (22000.1)

This SDK must be installed separately until available through Visual Studio

download icon.
Step 3: Install Windows 11 WDK

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.

Windows Driver Kit

Набор инструментальных средств Windows Driver Kit (WDK) также доступен по программе подписки MSDN и точно так же, как и Windows SDK, его можно свободно скачать с сайта. Документация по Windows Driver Kit включена в библиотеку MSDN.

Хотя набор WDK предназначен для разработчиков драйверов устройств, он является обширным источником информации о внутреннем устройстве Windows.

А в документации по WDK содержится полное описание всех Windows-функций поддержки ядра и механизмов, используемых драйверами устройств как в виде учебного пособия, так и в виде справочника.

windows-driver-kit


В 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).

Enterprise WDK (EWDK)

The EWDK is a standalone, self-contained command-line environment for building drivers. It includes Visual Studio Build Tools, the SDK, and the WDK. The latest public version of the EWDK contains Visual Studio 2019 Build Tools 16.9.2 and MSVC toolset v14.28. To get started, mount the ISO and run LaunchBuildEnv.

WinDDK-7 вот , что нужно для создания драйвера

фотка 1

В C:\WinDDK\7600.16385.1\src много примеров исходных кодов.
Примечание : если у вас уже установлен Win Driver Kit 10 , то придется удалить.

Фишка в том , что сборку надо запускать через запуск сначала командного файла (который устанавливает переменные среды) :
см. Пуск->Windows Driver

фотка 3

Открывается консоль, где и надо ввести build (в каталоге вашего проекта). Процесс сборки выглядит примерно так:

фотка 4

Для 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 + клик Перезагрузка)
Отключаем.

фотка 5

Windows 11 WDK runtime requirements

You can run the Windows 11 WDK on Windows 7 and later, and use it to develop drivers for these operating systems:

Client OS Server OS
Windows 11 Windows Server 2022
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

Версии DDK

Примечание. Windows NT DDK, Windows 98 DDK и Windows 2000 DDK больше не предоставляются Microsoft из-за соглашений, связанных с Java, сделанных Microsoft с Sun Microsystems.

Читайте также: