WDM 드라이버 작성

이 섹션에서는 Microsoft WDM(Windows 드라이버 모델) 아키텍처에 대해 설명합니다. 이 아키텍처는 이전 Windows NT 디바이스 드라이버에 대한 향상된 기능으로 Windows 2000에서 시작되었습니다.

참고 Windows 2000 이전의 Windows NT 기반 운영 체제 버전용 드라이버는 지원되지 않으므로 이러한 드라이버를 업데이트해야 합니다. WDM 아키텍처는 Windows NT 기반이 아닌 운영 체제(예: Windows 98)에 대한 드라이버를 지원하지 않으므로 이러한 드라이버를 다시 작성해야 합니다.

이 섹션은 다음 세 부분으로 나뉩니다.

  • Windows 드라이버 모델은 WDM 드라이버 유형, 디바이스 구성 및 WDM 버전 관리를 포함하여 WDM(Windows 드라이버 모델)을 설명합니다.

  • 디바이스 개체 및 디바이스 스택은 디바이스 개체 및 디바이스 스택을 설명합니다. 이 섹션에는 PDO(물리적 디바이스 개체), 기능 디바이스 개체(FDO) 및 필터 디바이스 개체(DO 필터링)에 대한 정보가 포함되어 있습니다. 드라이버는 함께 작동하는 디바이스 개체 집합에서 빌드되는 경우가 많습니다. 이 디바이스 개체 집합을 스택이라고 합니다. 스택은 드라이버 간 정보 흐름과 드라이버의 여러 부분이 내부적으로 통신하는 방식을 이해하는 데 도움이 될 수 있습니다.

  • 커널 모드 드라이버 구성 요소는 기능 드라이버를 포함하기 위해 구현해야 하는 루틴과 선택 사항인 루틴을 설명합니다.

    디바이스 드라이버는 운영 체제에 통합해야 하는 소프트웨어 코드 집합입니다. 이 통합을 완료하려면 운영 체제에서 호출을 처리하는 처리기 루틴 집합을 드라이버에 작성해야 합니다. 이러한 루틴은 간단한 함수 호출일 수 있지만 대부분의 루틴은 드라이버와 운영 체제 간의 통신을 용이하게 하는 I/O 요청 패킷 (IRP)의 처리를 구현합니다.

참고 WDM 드라이버는 WDF(Windows 드라이버 프레임워크) 라이브러리를 사용하여 디바이스 드라이버의 일부를 더 쉽게 작성할 수 있습니다. 특히 커널 모드 드라이버는 WDF의 일부인 KMDF(Kernel-Mode Driver Framework)를 사용할 수 있습니다. 커널 모드 드라이버용 KMDF에 대한 자세한 내용은 커널 모드 드라이버 프레임워크 개요를 참조하세요. KMDF는 WDM을 대체하지 않습니다. KMDF 드라이버를 작성하려면 WDM의 많은 부분을 이해해야 합니다.