1.What
DDK and WDK are Windows Driver development packages, just like Windows applications, we need Windows SDK.
2.Difference
2000/xp/2003, Windows uses the WDM driver Model (Windows Driver model), the corresponding development package is: DDK.
Vista and later versions, using the WDF driver Model (Windows Driver foudation), the corresponding development package: WDK.
The WDK can be seen as an upgraded version of DDK.
3.WDM or WDF
Starting with Windows 2000, development drivers are based on WDM and are relatively difficult to develop. To improve this situation, Microsoft has introduced a new driver development model, modeled and packaged on a WDM basis, which is significantly less difficult to develop.
4.New Features in WDF
1. The application of object-based technology in the original general program design is applied to the driving development. Although there are object models in WDM, it is not the same thing as real object-based technology. To implement object-based technology, Microsoft has designed and encapsulated the object model. Properties, methods, events, and so on "one cannot be less".
2, regardless of kernel-mode driver or user-mode driver, are built using the same set of object model, using the same foundation to carry. This foundation is WDF. Although WDF is already a encapsulated and defined object model, WDF is the parent object for both kernel-mode and user-mode objects. In other words, both are inherited by WDF, or are derived from WDF. In contrast to kernel mode, the derived object is called the KMD Framework, which is kmdf, and the derived model is called the UMD Framework, or UMDF, relative to user mode. Regardless of the framework of the schema, its internal encapsulation method, the execution of the behavior is actually used in WDM completion.
3. More importantly, Microsoft is also showing off some of the common behaviors that encapsulate drivers: plug-and-play and power management, for example, are part of this common behavior. Because most drivers need to deal with Plug and Play and power management issues, it is said that this will probably take thousands of lines of code, and there is not a considerable level is not necessarily able to handle. To once and for all, WDF encapsulates plug-and-play and power management into objects and becomes the default (default) behavior for objects.
4, change the operating system kernel and the relationship between the driver, WDM driver, on the one hand to handle the hardware, on the other hand to handle the driver and operating system kernel interaction. Now WDF separates the driver from the operating system kernel, and the driver interacts with the operating system to complete the method (function) encapsulated within the framework, so that the driver can only focus on the behavior of the hardware. This not only avoids the shortcomings of both sides of the forgotten how, but also because of the separation of the two operating system, some changes in the hardware manufacturers supporting the development of driver programs have a great advantage.
5. Both modes of the driver (KMDF, UMDF) are built using the same environment, called the WDK. That is, the KMDF,UMDF development environment is the WDK. Integrating the test suites into the DDK is the WDK. The WDK is a drive-integrated development system for the Microsoft operating system family. It combines Windows DDK and Hardware Compatibility test (HCT) kits (Hardware compatibility test tool), while providing a test suite within Microsoft to test the stability and reliability of the Windows operating system.
6, although encapsulated and introduce object-based technology, the driver developed in the implementation of efficiency is not inferior to the original. The relationship between WDF and WDM is somewhat similar to the relationship between MFC and the Windows SDK. WDF only adds a layer to WDM, simplifying the development of driver, especially pnp,power and IO
Cancellation and so on several aspects have greatly improved.
5.Codes
Windows Driver Kit (WDK) 8.1 Samples
"Windows Driver" DDK and WDK