WDM 드라이버 계층: 예제
이 섹션에서는 WDM 드라이버 계층을 설명하기 위해 USB 하드웨어용 WDM 드라이버 집합에 대해 설명합니다.
다음 그림에서는 USB 조이스틱에 대한 샘플 PnP 하드웨어 구성을 보여줍니다.
이 그림에서 USB 조이스틱은 USB 허브의 포트에 연결됩니다. 이 예제의 USB 허브는 USB 호스트 컨트롤러 보드에 있으며 USB 호스트 컨트롤러 보드의 단일 포트에 연결됩니다. USB 호스트 컨트롤러는 PCI 버스에 연결합니다. PnP 관점에서 USB 허브, USB 호스트 컨트롤러 및 PCI 버스는 각각 포트를 제공하기 때문에 모든 버스 디바이스입니다. 조이스틱은 버스 장치가 아닙니다.
다음 그림에서는 이전 그림에서 USB 조이스틱 하드웨어에 대해 로드될 수 있는 드라이버의 샘플 집합을 보여 있습니다.
이전 그림의 맨 아래에서 시작하여 샘플 스택의 드라이버는 다음과 같습니다.
PCI 버스를 구동하는 PCI 드라이버입니다. PnP 버스 드라이버입니다. PCI 버스 드라이버는 Microsoft에서 시스템과 함께 제공됩니다.
USB 호스트 컨트롤러용 버스 드라이버는 클래스/미니클래스 드라이버 쌍으로 구현됩니다. USB 호스트 컨트롤러 클래스 및 미니클래스 드라이버는 Microsoft에서 시스템과 함께 제공됩니다.
USB 허브를 구동하는 USB 허브 버스 드라이버입니다. USB 허브 드라이버는 Microsoft에서 시스템과 함께 제공됩니다.
조이스틱 장치용 드라이버 3개; 그 중 하나는 클래스/미니클래스 쌍입니다.
조이스틱 디바이스의 기본 드라이버인 함수 드라이버는 HID 클래스 드라이버/HID USB 미니클래스 드라이버 쌍입니다. HID는 "휴먼 인터페이스 디바이스"를 나타냅니다. HID USB 미니클래스 드라이버는 일반적인 HID 지원을 위해 HID 클래스 드라이버 DLL을 사용하여 HID 디바이스의 USB 관련 의미 체계를 지원합니다.
함수 드라이버는 특정 디바이스와 관련이 있거나 HID의 경우처럼 함수 드라이버가 디바이스 그룹을 서비스할 수 있습니다. 이 예제에서 HID 클래스 드라이버/HID USB 미니클래스 드라이버는 USB 버스의 시스템에 있는 모든 HID 규격 디바이스를 서비스합니다. HID 클래스 드라이버/HID 1394 미니클래스 드라이버 쌍은 1394 버스에서 모든 HID 규격 디바이스를 서비스합니다.
함수 드라이버는 디바이스 공급업체 또는 Microsoft에서 작성할 수 있습니다. 이 예제에서 함수 드라이버(HID 클래스/HID USB 미니클래스 드라이버 쌍)는 Microsoft에서 작성합니다.
이 예제에는 조이스틱 디바이스에 대한 두 가지 필터 드라이버가 있습니다. 매크로 단추 기능을 추가하는 상위 수준 클래스 필터와 조이스틱이 마우스 디바이스를 에뮬레이트할 수 있도록 하는 하위 수준 디바이스 필터가 있습니다.
상위 수준 필터는 조이스틱 I/O를 필터링해야 하는 사용자가 작성하며 하위 수준 필터 드라이버는 조이스틱 공급업체에서 작성합니다.
커널 모드 및 사용자 모드 HID 클라이언트와 애플리케이션은 드라이버가 아니지만 완전성을 위해 표시됩니다.