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


Драйвер miniport WavePci

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

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

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

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

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

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

IMiniportWavePci::Init

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

IMiniportWavePci::NewStream

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

IMiniportWavePci::Service

Уведомляет драйвер мини-порта о запросе на обслуживание.

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

IMiniportWavePciStream::GetAllocatorFraming

Возвращает предпочтительный параметр выделения драйвера мини-порта для потока волн.

IMiniportWavePciStream::GetPosition

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

IMiniportWavePciStream::MappingAvailable

Указывает, что новое сопоставление доступно в драйвере порта.

IMiniportWavePciStream::NormalizePhysicalPosition

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

IMiniportWavePciStream::RevokeMappings

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

IMiniportWavePciStream::Service

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

IMiniportWavePciStream::SetFormat

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

IMiniportWavePciStream::SetState

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