This article needs additional citations for verification .(October 2014) |
Developer(s) | Microsoft |
---|---|
Initial release | 1992 |
Stable release | 10.1.26100.2454 / November 27, 2024 [1] |
Operating system | Microsoft Windows |
Available in | English |
License | Proprietary commercial software |
Website | docs |
The Windows Driver Kit (WDK) is a software toolset from Microsoft that enables the development of device drivers for the Microsoft Windows platform. [2] It includes documentation, samples, build environments, and tools for driver developers. [3] A complete toolset for driver development also need the following: a compiler Visual Studio, Windows SDK, and Windows HLK.
Previously, the WDK was known as the Driver Development Kit (DDK) [4] and supported Windows Driver Model (WDM) development. It got its current name when Microsoft released Windows Vista and added the following previously separated tools to the kit: Installable File System Kit (IFS Kit), Driver Test Manager (DTM), though DTM was later renamed and removed from WDK again.
The DDK for Windows 2000 and earlier versions did not include a compiler; instead one had to install Visual C++ separately to compile drivers. From the version for Windows XP the DDK and later the WDK include a command-line compiler to compile drivers. One of the reasons Microsoft gave for including a compiler was that the quality of drivers would improve if they were compiled with the same version of the compiler that was used to compile Windows itself while Visual C++ is targeted to application development and has a different product cycle with more frequent changes. The WDK 8.x and later series goes back to require installing a matched version of Visual Studio separately, but this time the integration is more complete in that you can edit, build and debug the driver from within Visual Studio directly.
Version | Build number | Release date |
---|---|---|
Windows 3.0 DDK | 1990 | |
Windows 3.1 DDK | 1992 | |
Windows NT 3.1 DDK | 1993 | |
Windows NT 3.5 DDK | 1994 | |
Windows NT 3.51 DDK | 1025.1 | July 1995 |
Windows 95 DDK | October 1995 | |
Windows 95 DDK a | June 1996 | |
Windows 95 DDK b | ||
Windows 95 DDK c (MSDN July 1998) | June 1998 | |
Windows NT DDK (for Windows NT Workstation 3.51) | July 1996 | |
Windows NT DDK (for Windows NT Workstation 4.0) | 1381.1 | August 1996 |
Windows 98 DDK | July 1998 | |
Windows 98 SE DDK | May 1999 | |
Windows 2000 DDK | 2195.1 | February 2000 |
Windows XP Driver Development Kit (DDK) | 2600 | September 21, 2001 |
Windows XP SP1 Driver Development Kit (DDK) | 2600.1106 | November 14, 2002 |
Windows Server 2003 DDK | 3790 | April 9, 2003 |
Windows Server 2003 with Service Pack 1 DDK | 3790.1830 | April 6, 2005 |
Note: Windows NT DDK, Windows 98 DDK and Windows 2000 DDK are no longer made available by Microsoft because of Java-related settlements made by Microsoft with Sun Microsystems. [5]
Version | Build number | Release date | Develops drivers for | Visual Studio integration | Notes |
---|---|---|---|---|---|
Windows Driver Kit for Windows Vista | 6000 | November 29, 2006 | Windows Vista | - | - |
Windows Driver Kit – Server 2008 (x86, x64, ia64) | 6001.18000 | January 1, 2008 | Windows XP SP1 – Vista SP1, Windows Server 2000 SP4 – 2008 | - | - |
Windows Driver Kit – Server 2008 (x86, x64, ia64) | 6001.18001 | April 1, 2008 | - | - | - |
Windows Driver Kit – Server 2008 Release SP1 (x86, x64, i64) | 6001.18002 | December 8, 2008 | Windows XP SP1 – Vista SP1, Windows Server 2000 SP4 – 2008 SP1 | - | - |
Windows Driver Kit 7.0.0 | 7600.16385.0 | August 6, 2009 | Windows 7, Windows Server 2008 R2 | - | - |
Windows Driver Kit 7.1.0 | 7600.16385.1 | February 26, 2010 | Windows XP SP3 – 7, Windows Server 2003 SP1 – 2008 R2 | - | [6] |
Windows Driver Kit 8.0 | 8.59.25584 | August 15, 2012 | Windows 7 – 8, Windows Server 2008 R2 – 2012 | Visual Studio 2012 | Downloads before 8/17/2012 had a bug in WDF co-installer [7] |
Windows Driver Kit 8.1 | 8.100.26638 | September 16, 2013 | Windows 7 – 8.1, Windows Server 2008 R2 – 2012 R2 | Visual Studio 2013 [8] | - |
Windows Driver Kit 8.1 Update | 8.100.26846 | August 20, 2014 | Windows 7 – 8.1 Update, Windows Server 2008 R2 – 2012 R2 | Visual Studio 2013 | - |
Windows Driver Kit 10, Version 1507 | 10.0.26639 | July 2015 | Windows 7 SP1 – 10 | Visual Studio 2015 RTM – Update 3 | - |
Windows Driver Kit 10, Version 1511 | 10.0.10586 | November 2015 | Windows 7 SP1 – 10 Version 1511 | Visual Studio 2015 Update 1 – 3 | Windows 10 November Update |
Windows Driver Kit 10, Version 1607 | 10.0.14393 | August 2016 | Windows 7 SP1 – 10 Version 1607 (Excludes Win10 Version 1507 & 1511) | Visual Studio 2015 Update 3 | Windows 10 Anniversary Update |
Windows Driver Kit 10, Version 1703 | 10.0.15063 | April 2017 | Windows 7 SP1 – 10 (Version 1607 & 1703 only), Windows Server 2008 R2 – 2016 | Visual Studio 2017 Ver.15.1 | Windows 10 Creators Update |
Windows Driver Kit 10, Version 1709 | 10.0.16299 | October 2017 | Visual Studio 2017 Ver.15.4 | Windows 10 Fall Creators Update | |
Windows Driver Kit 10, Version 1803 | 10.0.17134 | April 2018 | Windows 10 April 2018 Update | ||
Windows Driver Kit 10, Version 1809 [9] | 10.0.17763 | October 2018 | Windows 10 October 2018 Update | ||
Windows Driver Kit 10, Version 1903 | 10.0.18362.1 | April 2019 | Windows 7 SP1 – 10 (Version 1607 to 1903), Windows Server 2008 R2 SP1 – 2019 | Visual Studio 2019 Ver.16 | Windows 10 May 2019 Update |
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc; most application software developers use specific software development kits.
Microsoft Visual C++ (MSVC) is a compiler for the C, C++, C++/CLI and C++/CX programming languages by Microsoft. MSVC is proprietary software; it was originally a standalone product but later became a part of Visual Studio and made available in both trialware and freeware forms. It features tools for developing and debugging C++ code, especially code written for the Windows API, DirectX and .NET.
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compiler.
Microsoft XNA is a freeware set of tools with a managed runtime environment that Microsoft Gaming developed to facilitate video game development. XNA is based on .NET Framework, with versions that run on Windows and Xbox 360. XNA Game Studio can help develop XNA games. The XNA toolset was announced on March 24, 2004, at the Game Developers Conference in San Jose, California. A first Community Technology Preview of XNA Build was released on March 14, 2006.
Windows Installer XML Toolset is a free software toolset that builds Windows Installer packages from XML. It consists of a command-line environment that developers may integrate into their build processes to build MSI and MSM packages. WiX was the first Microsoft project to be released under an open-source license, the Common Public License. It was also the first Microsoft project to be hosted on an external website.
Microsoft Visual Studio Express was a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Express editions started with Visual Studio 2005.
Visual J++ is Microsoft's discontinued implementation of Java. Syntax, keywords, and grammatical conventions were the same as Java's. It was introduced in 1996 and discontinued in January 2004, replaced to a certain extent by J# and C#.
WinDbg is a multipurpose debugger for the Microsoft Windows computer operating system, distributed by Microsoft. Debugging is the process of finding and resolving errors in a system; in computing it also includes exploring the internal operation of software as a help to development. It can be used to debug user mode applications, device drivers, and the operating system itself in kernel mode.
Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Microsoft Windows and .NET Framework. Platform SDK specializes in developing applications for Windows 2000, XP and Windows Server 2003. .NET Framework SDK is dedicated to developing applications for .NET Framework 1.1 and .NET Framework 2.0. Windows SDK is the successor of the two and supports developing applications for Windows XP and later, as well as .NET Framework 3.0 and later.
In Microsoft Windows applications programming, OLE Automation is an inter-process communication mechanism created by Microsoft. It is based on a subset of Component Object Model (COM) that was intended for use by scripting languages – originally Visual Basic – but now is used by several languages on Windows. All automation objects are required to implement the IDispatch interface. It provides an infrastructure whereby applications called automation controllers can access and manipulate shared automation objects that are exported by other applications. It supersedes Dynamic Data Exchange (DDE), an older mechanism for applications to control one another. As with DDE, in OLE Automation the automation controller is the "client" and the application exporting the automation objects is the "server".
The Windows Hardware Lab Kit is a test automation framework provided by Microsoft to certify devices for Windows. Earlier similarly released frameworks were called Windows Hardware Certification Kit and Windows Logo Kit (WLK).
Borland C++ was a C and C++ IDE released by Borland for MS-DOS and Microsoft Windows. It was the successor to Turbo C++ and included a better debugger, the Turbo Debugger, which was written in protected mode DOS.
Microsoft Build Engine, or MSBuild, is a set of free and open-source build tools for managed code under the Common Language Infrastructure as well as native C and C++ code. It was first released in 2003 and was a part of .NET Framework. MSBuild is included with Visual Studio, but can also be run independently through MSBuild's command-line interface.
MonoDevelop is a discontinued open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI), and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript, and Visual Basic.NET. Although there is no word from the developers that it has been discontinued, nonetheless, it hasn't been updated in 4 years and is no longer installable on major operating systems, such as Ubuntu 22.04 and above.
Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the .NET Framework Common Language Runtime (CLR) to expose their functionality via .NET.
Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms including Windows API, Windows Forms, Windows Presentation Foundation (WPF), Microsoft Store and Microsoft Silverlight. It can produce both native code and managed code.
NS Basic is a family of development tools developed and commercially marketed by NSB Corporation in Toronto, Ontario, Canada for iOS, Android, Microsoft Windows, MacOS, Linux, BlackBerry OS, WebOS, Newton OS, Palm OS, Windows CE and Windows Mobile.
Microsoft, a tech company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.
We use Visual Studio 2017 and WDK for Windows 10, version 1809 for development.