WavePci 포트 드라이버

중요 WavePci를 더 이상 사용하지 않는 것이 좋습니다. 대신 WaverRT를 사용합니다.

WavePci 포트 드라이버는 실제 메모리의 모든 위치에서 분산/수집 DMA 전송을 수행할 수 있는 오디오 디바이스를 통해 웨이브 스트림의 재생 또는 기록을 관리합니다. 분산/수집 DMA를 사용하면 디바이스가 일련의 매핑으로 구성된 버퍼에서 오디오 데이터를 처리할 수 있습니다. 각 매핑은 물리적으로 연속된 메모리의 블록이지만 연속 매핑이 반드시 서로 연속되는 것은 아닙니다. WavePci 호환 디바이스는 오디오 어댑터의 하드웨어 기능입니다. 일반적으로 어댑터는 마더보드의 통합 칩셋에 속하거나 마더보드의 PCI 슬롯에 연결하는 오디오 카드 탑재됩니다. 어댑터 드라이버는 WavePci 포트 드라이버 개체에 바인딩하여 웨이브 스트림을 캡처하거나 렌더링할 수 있는 웨이브 필터를 형성하는 해당 WavePci 미니포트 드라이버를 제공합니다.

WavePci 포트 드라이버는 IPortWavePci 인터페이스를 미니포트 드라이버에 노출합니다. IPortWavePci는 기본 인터페이스 IPort의 메서드를 상속합니다. 또한 IPortWavePci는 다음 메서드를 제공합니다.

IPortWavePci::NewMasterDmaChannel

새 master DMA 채널 개체를 만듭니다. IPortWavePci::Notify

포트 드라이버에 DMA 컨트롤러가 오디오 스트림의 새 위치로 이동했음을 알 수 있습니다. 또한 WavePci 포트 드라이버는 IPortWavePciStream 인터페이스를 각 미니포트 드라이버의 스트림 개체에 노출합니다. IPortWavePciStream은 기본 인터페이스 IUnknown의 메서드를 상속합니다. IPortWavePciStream은 다음과 같은 추가 메서드를 제공합니다.

IPortWavePciStream::GetMapping

포트 드라이버에서 다음 매핑을 가져옵니다. IPortWavePciStream::ReleaseMapping

GetMapping 호출에서 이전에 가져온 매핑을 해제합니다. IPortWavePciStream::TerminatePacket

캡처 데이터로 부분적으로만 채워진 경우에도 I/O 패킷을 종료합니다. I/O 패킷은 특정 매핑 IRP와 연결된 모든 매핑으로 구성된 오디오 버퍼의 부분입니다.

WavePci 포트 및 미니포트 개체는 해당 IPortWavePciIMiniportWavePci 인터페이스를 통해 서로 통신합니다. 또한 WavePci 포트 및 미니포트 스트림 개체는 해당 IPortWavePciStreamIMiniportWavePciStream 인터페이스를 통해 서로 통신합니다.