Difference between kmdf and umdf in WDF driver

Source: Internet
Author: User

In earlier Windows 95/98, the device driver was VxD (Virtual Device Driver), where X represents a certain type of device. Since Windows 2000, development of drivers must be based on WDM (Windows Driver Model). However, if DDK is used to develop WDM, it is difficult to develop it, it is not as easy as developing user-Mode Applications. Therefore, generally users use third-party tools such as WinDriver and DriverStudio. To improve this situation, Microsoft launched a new driver development environment WDF (Windows Driver
). The relationship between WDF and WDM is somewhat similar to that between MFC and Windows SDK. If you have programming experience, you can see why WDF development is easier than WDM. WDF has two modes: kmdf (kernel-mode driver) and umdf (User-Mode Driver:

1. Kernel Mode Driver kmdf (kernel-mode driver framework ):
These drivers are executed as part of the kernel-mode operating system components and manage I/O, Plug and Play, memory, processes and threads, and security. Kernel-mode drivers are generally layered. For more information about kmdf, see "getting started with kernel-mode driver framework" in msdn ".

2. User-mode driver framework ):
These drivers generally provide interfaces between Win32 applications and kernel-mode drivers or other operating system components. User-mode drivers support devices based on protocols or serial bus, such as cameras and portable music players. For more information about kmdf, see "Introduction to umdf" in msdn.

3. Both kernel-mode drivers and user-mode drivers are built in the same environment. This environment is called wdk. They are built using the same object model, use the same basic load, which is WDF. The WDF driver model provides an object-oriented and event-driven driver development framework, greatly reducing the development difficulty. From now on, developers who have mastered the drivers of Windows devices will change from "professional" to "common. Therefore, third-party tools such as WinDriver and DriverStudio also exit the historical stage.

4. kmdf is the underlying driver of the Windows system. The file name is :*. sys and Vista provide kmdf for more than 20 thousand peripherals, including USB. Therefore, for fx2 with USB, you only need to write umdf related to fx2. umdf is a user-layer driver, file Name :*. DLL.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.