Драйвер минипорта WaveRT

Минипортовый драйвер WaveRT поддерживается в Windows Vista и более поздних операционных системах Windows, а также управляет аппаратно-зависимыми функциями устройств волнового рендеринга или захвата звука. Звуковое устройство, совместимое с WaveRT, имеет оборудование для рассредоточения/сбора DMA, которое может передавать аудиоданные в или из любого расположения в физической памяти.

Драйвер минипорта WaveRT должен реализовать два интерфейса:

  • IMiniportWaveRT. Этот интерфейс выполняет инициализацию мини-драйвера, перечисление каналов и создание потока.

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

Сведения о том, как разработать драйвер минипорта WaveRT, который дополняет драйвер порта WaveRT, см. в разделе "Разработка драйвера минипорта WaveRT ".

IMiniportWaveRT

Интерфейс IMiniportWaveRT предоставляет следующие методы:

IMiniportWaveRT::Init

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

IMiniportWaveRT::NewStream

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

IMiniportWaveRT::GetDeviceDescription

Возвращает указатель на структуру DEVICE_DESCRIPTION , описывающую устройство.

IMiniportWaveRTStream

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

IMiniportWaveRTStream::AllocateAudioBuffer Выделяет циклический буфер для звуковых данных.

IMiniportWaveRTStream::FreeAudioBuffer

Освобождает ранее выделенный буфер звука с вызовом IMiniportWaveRTStream::AllocateAudioBuffer.

IMiniportWaveRTStream::GetClockRegister

Извлекает информацию, которую должен иметь драйвер порта для предоставления доступа к регистру часов звуковой подсистеме и её клиентам.

IMiniportWaveRTStream::GetHWLatency

Извлекает сведения о источниках задержки потока в звуковом оборудовании.

IMiniportWaveRTStream::GetPosition

Извлекает текущую позицию воспроизведения или записи в байтовом смещении от начала буфера.

IMiniportWaveRTStream::GetPositionRegister

Извлекает сведения, необходимые драйверу портов для предоставления регистрации позиции аудио подсистеме и его клиентам.

IMiniportWaveRTStream::SetFormat

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

IMiniportWaveRTStream::SetState

Изменяет состояние переноса аудиопотока.