Поделиться через


Драйвер miniport WaveRT

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

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

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

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

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

IMiniportWaveRT

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

IMiniportWaveRT::Init

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

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

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