Драйвер miniport WaveRT
Драйвер miniport WaveRT поддерживается в операционных системах Windows Vista и более поздних версий Windows и управляет аппаратными функциями звукового устройства отрисовки или захвата волн. Звуковое устройство, поддерживающее WaveRT, имеет оборудование DMA для точечной и сборочной передачи, которое может передавать звуковые данные в любое место физической памяти или из него.
Драйвер miniport WaveRT должен реализовывать два интерфейса:
IMiniportWaveRT. Этот интерфейс выполняет инициализацию драйвера мини-порта, перечисление каналов и создание потока.
IMiniportWaveRTStream. Этот интерфейс управляет потоком волн и предоставляет большую часть функциональных возможностей драйвера мини-порта.
Сведения о проектировании драйвера для минипорта WaveRT, дополняющего драйвер порта WaveRT, см. в статье Разработка драйвера для минипорта WaveRT .
IMiniportWaveRT
Интерфейс IMiniportWaveRT предоставляет следующие методы:
Инициализирует объект miniport.
Создает новый объект потока.
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
Изменяет состояние транспорта аудиопотока.