글 작성자: 써니루루

출처 : http://www.microsoft.com/whdc/driver/wdf/default.mspx


Windows Driver Foundation(WDF)


WDF를 사용하면 OS가 아닌 디바이스 장치에 중점을 두고 개발할 수 있다.

WDF는 몇가지 드라이버 검증 툴을 통해서 커널 모드와 사용자 모드 드라이버의 개발을 위한 프레임워크를 포함하고 있다.


Kernel-Mode Driver Framework(KMDF)


KMDF는 커널 모드 드라이버에 필요한 기본적인 기능을 구현하고 있다. 다음을 포함한다:


. PnP와 전원 관리

. I/O 큐

. Direct memory access (DMA)

. Windows management instrumentation (WMI)

. Synchronization


각 윈도우즈 버전에 적합한 프레임워크에 대부분의 소스 코드가 있기 때문에, KMDF 드라이버는 최소한의 소스 코드만을 필요로 한다. 드라이버는 다음을 지원하기 위한 코드가 있다:


. 디바이스가 response해야하는 이벤트

. 디바이스에 고유한 기능


User-Mode Driver Framework(UMDF)

UMDF는 프로토콜 기반 디바이스 혹은 시리얼 버스 기반 디바이스를 지원하는 user-mode 드라이버의 작성을 지원한다. 이런 드라이버는 커널 모드 드라이버와 동일한 타입의 I/O를 처리하고 커널 모드 드라이버와 동일하게 INF 파일로 설치된다.


사용자 모드에서 작동하는 드라이버는 사용자 주소 영역에 대한 접근 권한만을 가진다 따라서 커널 모드 드라이버 보다 시스템 보안과 안정성에 대한 낮은 리스크를 가진다. 사용자 모드 드라이버는 커멀 모드 드라이버와 거의 동일한 성능을 가지며 여러가지의 장점이 있다:


. 쉬운 드라이버 환경

. 높은 안정성과 보안성

. Win32 API 사용

. 사용자 모드 디버거를 이용한 디버깅

. C++ 프로그래밍

. 빠른 코드 생성


사용자 모드 드라이버가 할 수 없는 일:

. 인터럽트 처리

. 하드웨어 직접 접근

. 정확한 타이밍 루프 사용

. 커널 모드 리소스 사용


Architecture of the Windows Driver Foundation


이 글의 목적은 윈도우즈 OS 패밀리를 위한 차세대 드라이버 모델인 WDF에 대한 정보를 제공하는 것이다. WDF에 대한 전체적인 아키텍처를 기술하고 드라이버 개발 시간을 줄이고, 시스템 안정성을 높이고 드라이버 진단성과 서비스 능력을 개선할 수 있는 방법을 설명한다. WDF에 생소한 기술 관리자, 아키텍처, 드라이버 설계자를 위해 작성되었다.


다음의 OS에 적용된다:

MS Vista

MS Server 2003

MS XP

MS 2000


이 문서에 있는 정보:

. WDF의 디자인 목적

. WDF에서의 디바이스와 드라이버 지원

. WDF 드라이버 모델

. WDF 객체 모델

. PnP와 전원 관리 지원

. I/O 모델

. 드라이버 프레임워크

. 개발과 테스팅 툴

. serviceability and versioning

. 다음 단계



Windows Driver Foundation (WDF)

WDF defines a single driver model that supports the creation of object-oriented, event-driven drivers for either kernel mode or user mode. It simplifies driver development and maintenance by:

Implementing common features.

Providing intelligent defaults.

Managing most interactions with the operating system.

With WDF, driver writers can focus on their device hardware, rather than on the operating system.

WDF includes frameworks for the development of kernel-mode and user-mode drivers along with several driver verification tools.

Download the KMDF. KMDF 1.1 is now available for download. More

Tip: See the video presentations from Driver DevCon and other tips & tricks at Notes from Windows Development Teams.

Kernel-Mode Driver Framework (KMDF)
KMDF implements the fundamental features required for kernel-mode drivers.

User-Mode Driver Framework (UMDF)
UMDF supports the development of user-mode drivers for device classes such as cameras and portable music players that are based on protocol or serial buses.

WDF Driver Verification Tools
WDF includes a built-in verifier along with two rule-based static verification tools: PREfast and Static Driver Verifier (SDV).

WDF Overview

White Paper Architecture of the Windows Driver Foundation
White Paper FAQ: Questions from Driver Developers about Windows Driver Foundation
White Paper Introduction to the Windows Driver Foundation
White Paper Windows Driver Foundation Facts
Microsoft Powerpoint (.ppt) Windows Driver Foundation: An Introduction [WinHEC 2005; 689 KB]

WDF Beta Program

White Paper Windows Driver Foundation Beta Program Invitation

Windows Driver Foundation Notes

Microsoft Powerpoint (.ppt) How to Develop a KMDF Driver [517 KB]
Microsoft Powerpoint (.ppt) How to Develop a UMDF Driver [1.4 MB]
Microsoft Powerpoint (.ppt) How to Port WDM Drivers to KMDF [749 KB]
Microsoft Powerpoint (.ppt) Introduction to User-Mode Driver Framework [536 KB]
Windows Multimedia How to Develop a KMDF Driver: Part 2
Windows Multimedia How to Port a WDM Driver to the KMDF: Part 1
Windows Multimedia How to Port a WDM Driver to the KMDF: Part 2

Articles on WDF

This link leaves the Microsoft.com site Defensive Drivers - DevSource by Ziff Davis Media
This link leaves the Microsoft.com site NT Insider Interviews Jake Oshins on WDF PnP/Power (subscription required)