Драйвер Miniport WaveCyclic

Важный Использование WavePci больше не рекомендуется, вместо этого используйте WaverRT.

Драйвер miniport WaveCyclic управляет аппаратно-зависимыми функциями устройства воспроизведения или захвата звука, использующего циклический буфер для звуковых данных. Циклический буфер обычно является одним блоком непрерывной физической памяти и может находиться в области памяти выбора драйвера. Устройство с любым из следующих ограничений должно предоставить драйвер минипорта WaveCyclic, а не драйвер минипорта WavePci:

  • Устройство не имеет оборудования DMA.

  • Оборудование DMA устройства может получить доступ к данным только в буфере, который занимает один блок непрерывной физической памяти.

  • Оборудование DMA устройства не может получить доступ к данным во всех регионах физической памяти.

Драйвер miniport WaveCyclic должен реализовать два интерфейса:

  • Интерфейс минипорта поддерживает инициализацию мини-драйвера и создание потока.

  • Интерфейс потока управляет потоком волны и предоставляет большую часть функциональных возможностей драйвера мини-порта.

Минипорт-интерфейс IMiniportWaveCyclic наследует методы в интерфейсе IMiniport . IMiniportWaveCyclic предоставляет следующие дополнительные методы:

IMiniportWaveCyclic::Init

Инициализирует минипорт-объект.

IMiniportWaveCyclic::NewStream

Создает новый объект потока.

Интерфейс потока IMiniportWaveCyclicStream наследует методы в интерфейсе IUnknown . IMiniportWaveCyclicStream предоставляет следующие дополнительные методы:

IMiniportWaveCyclicStream::GetPosition

Возвращает текущее положение устройства в потоке волн.

IMiniportWaveCyclicStream::NormalizePhysicalPosition

Преобразует значение позиции физического буфера в значение на основе времени.

IMiniportWaveCyclicStream::SetFormat

Задает формат данных потока волны.

IMiniportWaveCyclicStream::SetNotificationFreq

Задает частоту прерывания уведомления.

IMiniportWaveCyclicStream::SetState

Задает состояние потока волны.

IMiniportWaveCyclicStream::Silence

Копирует молчание в буфер.