Драйвер порта WavePci
Важно Использовать WavePci больше не рекомендуется, вместо этого используйте WaverRT.
Драйвер порта WavePci управляет воспроизведением или записью волнового потока звуковым устройством, которое может выполнять передачу точечной и сборной данных DMA в любое место в физической памяти или из него. С помощью точечной обработки и сбора данных DMA устройство может обрабатывать звуковые данные в буфере, состоящем из ряда сопоставлений. Каждое сопоставление представляет собой блок физически непрерывной памяти, но последовательные сопоставления не обязательно являются непрерывными друг с другом. Устройство, совместимое с WavePci, — это аппаратная функция на звуковом адаптере. Как правило, адаптер является частью интегрированного набора микросхем на системной плате или устанавливается на звуковом карта, который подключается к слоту PCI на системной плате. Драйвер адаптера предоставляет соответствующий драйвер miniport WavePci , который привязывается к объекту драйвера порта WavePci для формирования волнового фильтра , который может захватывать или отрисовывать поток волн.
Драйвер порта WavePci предоставляет драйверу мини-порта интерфейс IPortWavePci . IPortWavePci наследует методы в базовом интерфейсе IPort. Кроме того, IPortWavePci предоставляет следующие методы:
IPortWavePci::NewMasterDmaChannel
Создает новый объект канала DMA master. IPortWavePci::Notify
Уведомляет драйвер порта о том, что контроллер DMA переместился на новую позицию в звуковом потоке. Драйвер порта WavePci также предоставляет интерфейс IPortWavePciStream каждому объекту потока драйвера мини-порта. IPortWavePciStream наследует методы в базовом интерфейсе IUnknown. IPortWavePciStream предоставляет следующие дополнительные методы:
IPortWavePciStream::GetMapping
Возвращает следующее сопоставление из драйвера порта. IPortWavePciStream::ReleaseMapping
Освобождает сопоставление, ранее полученное вызовом GetMapping . IPortWavePciStream::TerminatePacket
Завершает пакет ввода-вывода, даже если он заполнен только частично данными записи. Пакет ввода-вывода — это часть звукового буфера, состоящая из всех сопоставлений, связанных с определенным IRP сопоставления.
Порт WavePci и объекты miniport взаимодействуют друг с другом через соответствующие интерфейсы IPortWavePci и IMiniportWavePci . Кроме того, порт WavePci и объекты потока miniport взаимодействуют друг с другом через соответствующие интерфейсы IPortWavePciStream и IMiniportWavePciStream .