다음을 통해 공유


다기능 오디오 디바이스

다기능 디바이스는 두 개 이상의 개별 함수(또는 하위 서비스)를 통합하는 단일 어댑터 카드. 다기능 디바이스에는 두 개 이상의 오디오 하위 서비스가 포함될 수 있습니다. 디바이스 클래스에 걸쳐 있을 수도 있습니다. instance 오디오 및 모뎀 하위 서비스가 포함된 디바이스는 미디어 클래스와 모뎀 클래스 모두에 속합니다. 자세한 내용은 Multifunction 디바이스 지원을 참조하세요.

PortCls의 WavePci 포트 드라이버는 다기능 디바이스에 특별한 요구 사항을 배치합니다. 특히 어댑터 드라이버는 다기능 디바이스의 다른 하위 서비스와 독립적으로 제어할 수 있도록 각 하위 서비스를 구성하는 방법을 제공해야 합니다. 이 작업은 다음 두 가지 방법 중 하나로 다기능 디바이스에 대한 PCI 구성 공간을 설정하여 수행할 수 있습니다.

  1. 기본 방법은 다기능 디바이스의 각 논리적으로 고유한 하위 서비스에 별도의 디바이스 ID를 할당하는 것입니다. 예를 들어 다기능 디바이스에 모뎀, 오디오 및 조이스틱 하위 서비스가 포함된 경우 시스템은 각 하위 서비스를 디바이스 트리의 독립적인 devnode로 나타낼 수 있어야 합니다. 각 디바이스 ID로 표시되는 하위 서비스에는 자체 PCI 구성 레지스터 집합이 있으며 다른 하위 서비스에 대한 직교 및 독립적입니다. instance 경우 하나의 하위 서비스(예: 오디오 하위 서비스)를 사용하거나 사용하지 않도록 설정하면 다른 하위 서비스(예: 모뎀)에 영향을 주지 않아야 합니다. 이러한 유형의 다기능 디바이스에는 하위 서비스 자체에 대한 독점 드라이버 외에 특별한 하드웨어별 드라이버 지원이 필요하지 않습니다.

  2. 다기능 디바이스를 설계하는 두 번째 방법은 디바이스 전체에 단일 디바이스 ID를 할당하고 개별 하위 서비스에 대해 별도의 PCI 기본 주소 레지스터(BAR)를 제공하는 것입니다. 이 체계에서는 하위 서비스가 공통 구성 레지스터 집합을 공유하지만 각 하위 서비스에는 고유한 BAR 또는 BA가 있습니다. 시스템 다기능 드라이버(예: Microsoft Windows 2000 이상에서 Mf.sys, System-Supplied Multifunction Bus 드라이버 사용 참조)는 다른 함수에 대한 레지스터와 독립적으로 각 하위 서비스의 상태, 명령 및 데이터 레지스터에 대한 기본 주소를 구성할 수 있습니다. 디바이스의 BAR을 하위 서비스로 논리적으로 분리할 수 없는 경우 PortCls를 사용하여 디바이스를 관리할 수 없습니다.

이 섹션의 나머지 부분에서는 앞의 목록에서 접근 방식(2)을 구현하는 데 필요한 단계를 설명합니다. 다음 항목을 다룹니다.

여러 오디오 하위 서비스

다기능 디바이스 제한