UMDF 개요
이 항목에서는 UMDF(User-Mode Driver Framework) 구성 요소에 대한 개략적인 개요를 제공하고 드라이버가 시스템 제공 구성 요소와 상호 작용하는 방법을 설명합니다. UMDF 버전 1과 2 모두에 적용됩니다.
UMDF 드라이버는 하드웨어 기능을 추상화하고, 사용자 모드 환경에서 실행하며, 다양한 서비스에 액세스할 수 있습니다. UMDF 드라이버는 디바이스를 관리하는 드라이버 스택의 일부로 작동합니다. 파일 시스템 드라이버, 디스플레이 드라이버(전체 디스플레이 디바이스의 경우 디스플레이 전용 디스플레이 디바이스 아님) 및 인쇄 드라이버는 UMDF 드라이버가 될 수 없습니다.
UMDF 드라이버는 다음 시스템 제공 구성 요소와 상호 작용합니다.
드라이버 호스트 프로세스
드라이버 호스트 프로세스는 공급업체에서 제공하는 UMDF 드라이버 및 프레임워크 DLL을 로드하고, 사용자 모드 드라이버에 대한 실행 환경을 제공하고, 사용자 모드 스택의 드라이버 간에 메시지를 라우팅합니다. 자세한 내용은 UMDF 드라이버 호스트 프로세스를 참조하세요.
드라이버 관리자
드라이버 관리자는 Wudfhost 드라이버 호스트 프로세스의 모든 인스턴스를 관리하는 Windows 서비스입니다. 드라이버 관리자는 각 드라이버 호스트 프로세스에 대한 정보를 시작하고 추적합니다. 각 호스트는 드라이버 관리자의 자식 프로세스입니다. 시스템당 하나의 드라이버 관리자만 존재합니다. 드라이버 관리자는 첫 번째 UMDF 디바이스를 설치하는 동안 시작하고 그 후 시스템에서 실행됩니다.
Reflector
리플렉터 는 애플리케이션 및 드라이버 호스트 프로세스(및 사용자 모드 디바이스 스택)가 통신할 수 있도록 허용하는 커널 모드 드라이버입니다. 리플렉터에서는 각 디바이스 instance 대해 별도의 디바이스 개체를 만들고 각 디바이스 instance 연결된 플러그 앤 플레이(PnP) 및 전원 I/O 요청을 처리합니다. 애플리케이션과 드라이버 호스트 프로세스 간의 모든 통신은 리플렉터를 통해 수행됩니다. 자세한 내용은 UMDF 아키텍처를 참조하세요.
지정된 디바이스에 대한 모든 함수 및 필터 드라이버는 동일한 드라이버 호스트 프로세스에서 실행되어야 하지만 여러 호스트 프로세스를 동시에 실행할 수 있습니다.
다음 다이어그램에서는 드라이버 호스트 프로세스, 드라이버 관리자 및 리플렉터를 사용자 모드/커널 모드 경계 간에 통신하는 방법을 보여 줍니다.