WDM 오디오 구성 요소 Kernel-Mode

커널 모드 Microsoft WDM(Windows 드라이버 모델) 오디오 구성 요소는 다음과 같습니다.

WDMAud 시스템 드라이버

SysAudio 시스템 드라이버

KMixer 시스템 드라이버

Redbook 시스템 드라이버

SBEmul 시스템 드라이버

SWMidi 시스템 드라이버

DMusic 시스템 드라이버

AEC 시스템 드라이버

DRMK 시스템 드라이버

분할자 시스템 드라이버

포트 클래스 어댑터 드라이버 및 PortCls 시스템 드라이버

USB 오디오 클래스 시스템 드라이버(Usbaudio.sys)

AVCAudio 클래스 시스템 드라이버

WDMAud 시스템 드라이버

커널 모드 WDMAud 시스템 드라이버(Wdmaud.sys)는 사용자 모드 WDMAud 시스템 드라이버(Wdmaud.drv)와 페어링됩니다. WDMAud 드라이버 쌍은 사용자 모드 Microsoft Windows 멀티미디어 시스템 호출과 커널 스트리밍 I/O 요청 간에 변환됩니다. WDMAud는 waveIn, waveOut, midiIn, midiOut, mixeraux(Microsoft Windows SDK 설명서에 설명됨)와 같은 API에 대해 I/O를 수행합니다. 커널 모드 WDMAud 드라이버는 KS(커널 스트리밍) 필터 및 SysAudio 시스템 드라이버의 클라이언트입니다.

SysAudio 시스템 드라이버

SysAudio 시스템 드라이버(Sysaudio.sys)는 오디오 콘텐츠를 렌더링하고 캡처하는 필터 그래프를 빌드합니다. SysAudio 드라이버는 오디오 필터 그래프를 가상 오디오 디바이스로 나타내고 각 가상 오디오 디바이스를 KSCATEGORY_AUDIO_DEVICE 디바이스 인터페이스의 instance 등록합니다. (어댑터 드라이버는 SysAudio 전용으로 예약된 이 범주에 등록해서는 안 됩니다.) 예를 들어 가상 MIDI 디바이스는 SWMidi 드라이버, KMixer 드라이버 및 포트/미니포트 드라이버를 연결하여 만든 필터 그래프를 나타낼 수 있습니다. 클라이언트는 가상 오디오 디바이스를 구성하는 개별 디바이스가 아닌 가상 오디오 디바이스와만 통신합니다. 클라이언트에 투명하게 SysAudio 드라이버는 가상 오디오 디바이스를 형성하기 위해 함께 연결된 필터 그래프의 모든 KS 필터를 구성합니다. 다음 오디오 스트림 원본은 SysAudio에서 빌드하는 그래프를 사용합니다.

  • DirectSound(Microsoft Windows SDK 설명서 참조)

  • Windows 멀티미디어 API waveIn, waveOut, midiIn, midiOut, mixeraux (Windows SDK 설명서 참조).

  • Redbook CD 디지털 오디오(Redbook System Driver 참조)

  • Sound Blaster 에뮬레이터(SBEmul 시스템 드라이버 참조)

  • 커널 모드 소프트웨어 신시사이저(SWMidi 시스템 드라이버 및 DMusic 시스템 드라이버 참조)

  • DRMK 시스템 드라이버

KMixer 시스템 드라이버

KMixer 시스템 드라이버(Kmixer.sys)는 다음을 수행하는 KS 필터입니다.

  • 여러 PCM 오디오 스트림 혼합

  • 고품질 형식 변환

  • 비트 깊이 변환

  • 화자 구성 및 채널 매핑

KMixer 드라이버는 간단한 8비트 및 16비트, 모노 및 스테레오 데이터 형식 외에도 다음을 지원합니다.

  • PCM 및 IEEE 부동 소수점 데이터

  • 비트 깊이가 16비트보다 크고 채널이 두 개 이상인 다중 채널 형식

  • HRTF(헤드 관련 전송 함수) 3D 처리

다양한 Windows 버전의 볼륨 범위 및 기본 볼륨 수준에 대한 자세한 내용은 기본 오디오 볼륨 설정을 참조하세요.

Redbook 시스템 드라이버

Redbook 시스템 드라이버(Redbook.sys)는 CD 디지털 오디오의 렌더링을 관리하는 KS 필터입니다. Redbook 드라이버는 SysAudio 시스템 드라이버의 클라이언트입니다. 시스템은 파일 시스템을 통해 CD 디지털 오디오를 Redbook 드라이버로 라우팅한 다음 SysAudio 드라이버로 라우팅합니다. CD 디지털 오디오는 기본 웨이브 출력 디바이스에서 렌더링됩니다(제어판 멀티미디어 속성 페이지에 설정됨).

SBEmul 시스템 드라이버

SBEmul 시스템 드라이버(Sbemul.sys)는 MS-DOS 애플리케이션에 대한 Sound Blaster 에뮬레이션을 제공합니다. SBEmul 드라이버는 SysAudio 시스템 드라이버의 클라이언트입니다. 콘텐츠를 렌더링하고 캡처하기 위해 SysAudio 드라이버는 기본 웨이브 및 MIDI 디바이스를 사용합니다(제어판 멀티미디어 속성 페이지에 설정된 대로).

사운드 블래스터 에뮬레이션은 Windows 98/Me에서만 지원됩니다.

SWMidi 시스템 드라이버

SWMidi 시스템 드라이버(Swmidi.sys)는 소프트웨어 에뮬레이트 GM(General MIDI) 및 고품질 Roland GS 파동 가능 합성을 제공하는 KS 필터입니다. midiOutXxx 애플리케이션은 하드웨어 신시사이저를 사용할 수 없는 경우 SWMidi를 사용합니다. SWMidi 필터는 WDMAud 시스템 드라이버에서 타임스탬프를 받은 MIDI 스트림을 입력으로 수신하고 PCM 웨이브 스트림을 KMixer 시스템 드라이버에 출력합니다. SWMidi는 모든 음성을 내부적으로 혼합하여 PCM 웨이브 형식의 단일 2 채널 출력 스트림을 형성합니다.

DMusic 시스템 드라이버

DMusic 시스템 드라이버(Dmusic.sys)는 소프트웨어 에뮬레이트된 고품질 DLS(다운로드 가능한 사운드) 합성을 지원하는 KS 필터입니다. DMusic 드라이버는 시스템에서 제공하는 포트 클래스 미니포트 드라이버입니다. DirectMusic 스트림 데이터 범위를 지원하는 단일 DirectMusic 핀을 노출합니다. DMusic 필터는 DirectMusic 시스템 구성 요소에서 타임스탬프를 받은 MIDI 스트림을 입력으로 수신하고 PCM 웨이브 스트림을 KMixer 시스템 드라이버에 출력합니다. DMusic 드라이버는 모든 음성을 내부적으로 혼합하여 PCM 웨이브 형식의 단일 2 채널 출력 스트림을 형성합니다. DirectMusic 애플리케이션은 DirectMusic의 기본 사용자 모드 신디사이저 대신 사용하기 위해 커널 모드 소프트웨어 신디사이저(Dmusic.sys)를 명시적으로 선택해야 합니다.

AEC 시스템 드라이버

AEC 시스템 드라이버(Aec.sys)는 소프트웨어에서 AEC(음향 에코 취소) 및 노이즈 억제 알고리즘을 구현하여 전체 이중 DirectSound 애플리케이션을 지원합니다. 자세한 내용은 DirectSound 캡처 효과를 참조하세요.

DRMK 시스템 드라이버

DRMK 시스템 드라이버(Drmk.sys)는 DRM으로 보호되는 콘텐츠가 포함된 오디오 스트림의 암호를 해독하는 KS 필터입니다. 자세한 내용은 디지털 권한 관리를 참조하세요.

분할자 시스템 드라이버

Splitter.sys(Splitter 시스템 드라이버)는 단일 입력 캡처 스트림에서 둘 이상의 출력 스트림을 만드는 KS 필터입니다. Splitter 드라이버는 입력 스트림 형식과 독립적으로 입력 스트림을 두 개 이상의 출력 스트림에 투명하게 복사합니다.

Splitter 드라이버는 Microsoft Windows XP 이상에서 지원됩니다. 자세한 내용은 AVStream 분할자를 참조하세요.

포트 클래스 어댑터 드라이버 및 PortCls 시스템 드라이버

포트 클래스 어댑터 드라이버는 포트/미니포트 드라이버 아키텍처를 사용하여 오디오 디바이스를 지원합니다. PortCls 드라이버에는 ISA 및 PCI 오디오 디바이스에 대한 기본 제공 드라이버 지원이 포함되어 있습니다. PortCls 시스템 드라이버(Portcls.sys)도 공급업체에서 제공하는 포트 클래스 어댑터 드라이버에 대한 프레임워크를 제공하지만, 공급업체는 시스템 제공 포트 클래스 어댑터 드라이버를 사용하여 ISA 및 PCI 오디오 디바이스를 지원하는 것이 좋습니다. 또한 PortCls 프레임워크는 다른 하드웨어 버스 또는 소프트웨어 전용 디바이스에서 오디오 디바이스용 드라이버를 생성하는 데 유용할 수 있습니다. 자세한 내용은 포트 클래스 소개를 참조하세요.

USB 오디오 클래스 시스템 드라이버(Usbaudio.sys)

USBAudio 클래스 시스템 드라이버(Usbaudio.sys)는 오디오 디바이스에 대한 유니버설 직렬 버스 디바이스 클래스 정의를 준수하는 USB 오디오 디바이스에 대한 드라이버 지원을 제공합니다. 이 클래스 시스템 드라이버에 대한 자세한 내용은 USB 오디오 클래스 시스템 드라이버(Usbaudio.sys)를 참조하세요.

AVCAudio 클래스 시스템 드라이버

AVCAudio 클래스 시스템 드라이버(Avcaudio.sys)는 IEEE 1394 버스에 상주하는 오디오 디바이스에 대한 드라이버 지원을 제공하는 AVStream 미니드라이버입니다. AVCAudio 드라이버 및 IEEE 1394 오디오 디바이스에 대한 관련 지원은 Windows XP 이상에서 사용할 수 있습니다.

하드웨어 공급업체는 시스템 제공 드라이버를 사용하려면 다음 사양의 적절한 섹션을 준수하도록 오디오 디바이스를 디자인해야 합니다.

  • IEC 61883-1 및 IEC 61883-6(IEC 60958)

  • AV/C 디지털 인터페이스 명령 집합 일반 사양 Ver. 3.0

  • AV/C 오디오 하위 단위 사양 1.0

  • 연결 및 호환성 관리 사양 1.0

  • AV/C 미디어 스트림 형식 정보 및 협상

  • 현재 처리 중인 AV/C 오디오 하위 단위 사양에 업데이트

이러한 사양은 IEEE 1394 Wiki 페이지 웹 사이트에 설명되어 있습니다. AVCAudio 드라이버는 이러한 사양에 설명된 기능의 하위 집합을 지원합니다.

오디오 디바이스가 플러그 앤 플레이 디바이스 열거 중에 IEEE 1394 규격 오디오 디바이스로 식별되면 시스템은 AVCAudio 드라이버를 자동으로 로드하여 디바이스를 구동합니다. AVCAudio는 독점 어댑터 드라이버의 도움 없이 디바이스를 직접 구동합니다. 즉, 적절한 IEEE 1394 사양을 준수하는 디바이스에는 독점 어댑터 드라이버가 필요하지 않습니다.

Microsoft는 하드웨어 공급업체가 독점 어댑터 드라이버를 작성하는 대신 IEEE 1394 오디오 디바이스에 AVCAudio 드라이버를 사용하는 것이 좋습니다.

다음 그림에서는 Windows XP의 IEEE 1394 오디오 디바이스에 대한 드라이버 계층 구조를 보여 줍니다. Windows XP 이상에서는 이 그림에 표시된 모든 드라이버 구성 요소가 Microsoft에서 운영 체제와 함께 제공됩니다.

Windows XP의 IEEE 1394 오디오 디바이스에 대한 드라이버 계층 구조를 보여 주는 다이어그램

그림의 드라이버 구성 요소에 대한 자세한 내용은 다음 섹션을 참조하세요.

AVStream 개요

AV/C 클라이언트 드라이버

IEEE 1394 버스