다음을 통해 공유


UMDF를 사용하여 시작

이 섹션에서는 UMDF(User-Mode Driver Framework)에 대해 설명하고 UMDF 버전 1과 2의 차이점을 자세히 설명합니다. 또한 UMDF에 대한 개략적인 아키텍처 정보도 제공합니다. 이 섹션을 사용하여 UMDF 드라이버가 요구 사항에 적합한지 확인하고 사용할 UMDF 버전을 결정합니다.

WDF(Windows 드라이버 프레임워크)에는 사용자 모드 드라이버를 만들기 위한 프레임워크인 UMDF가 포함되어 있습니다. kmDF(Kernel-Mode Driver Framework)와 마찬가지로 UMDF는 WDM의 추상화 계층을 제공하여 많은 플러그 앤 플레이(PnP) 및 전원 관리 기능을 처리하고 드라이버가 특정 기능 및 이벤트 처리를 옵트인할 수 있도록 합니다.

Windows 8.1 UMDF에는 버전 1과 2의 두 가지 주요 버전이 있습니다. UMDF 버전 1.11(점 11개)은 UMDF 버전 1의 최신 버전이며 UMDF 2가 등장하기 전의 최종 버전입니다. 전체 버전 정보 및 운영 체제 관련성을 보여 주는 테이블은 UMDF 버전 기록을 참조하세요.

UMDF 버전 1을 사용하여 드라이버를 작성하려면 COM 프로그래밍 모델을 사용하여 C++ 코드를 작성해야 합니다. UMDF 버전 2는 KMDF와 동일한 개념적 드라이버 프로그래밍 모델을 기반으로 하지만, UMDF 1은 다양한 구성 요소, DDI(디바이스 드라이버 인터페이스) 및 데이터 구조를 사용하여 모델을 구현합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 및 Windows 11 UMDF 1에 대한 지원이 제한됩니다.

반면 UMDF 버전 2부터는 KMDF 드라이버에서 사용할 수 있는 여러 메서드를 호출하는 C 프로그래밍 언어로 UMDF 드라이버를 작성할 수 있습니다. UMDF 버전 2와 KMDF 간에 공유되는 모든 인터페이스에는 동일한 이름, 매개 변수 및 구조 정의가 있습니다. 드라이버가 공유 기능만 사용하거나 하나의 프레임워크에서만 지원되는 호출과 관련하여 조건부 매크로를 사용하는 경우 UMDF 또는 KMDF로 컴파일할 수 있는 단일 드라이버를 작성할 수 있습니다. 자세한 내용은 KMDF 드라이버에서 UMDF 드라이버를 생성하는 방법을 참조하세요.

UMDF 2와 KMDF 사이에는 상당한 공통점이 있지만 한 프레임워크 또는 다른 프레임워크에서만 사용할 수 있는 기능은 여전히 적습니다. 자세한 내용은 UMDF 2 기능과 KMDF 비교를 참조하세요. 모든 UMDF 2 및 KMDF 콜백 및 메서드 목록과 적용되는 프레임워크는 WDF 콜백 및 메서드 요약을 참조하세요. 경우에 따라 메서드의 구조체 멤버 또는 매개 변수가 하나의 프레임워크 또는 다른 프레임워크에만 적용됩니다. 설명서에서는 해당 참조 페이지에서 이러한 차이점을 설명합니다.