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


Интерфейс IPortWaveRTStream (portcls.h)

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

Аудиопоток связан с каждым экземпляром закреплений в фильтре WaveRT. Драйвер адаптера формирует фильтр путем привязки портов WaveRT и драйверов miniport. Когда драйвер порта вызывает метод IMiniportWaveRT::NewStream для создания объекта потока драйвера miniport, драйвер порта передает ссылку IPortWaveRTStream в качестве одного из параметров вызова метода.

Чтобы выделить память, необходимую для циклического буфера, драйвер мини-порта должен вызвать метод AllocatePagesForMdl или Метод AllocateContiguousPagesForMdl интерфейса .IPortWaveRTStream Интерфейс предоставляет дополнительные методы, которые могут сопоставлять выделенные страницы, отменять их сопоставление, а также освобождать их.

Методы в интерфейсе IPortWaveRTStream основаны на функциях ядра MmXxx, которые выполняют выделение и сопоставление списков дескрипторов памяти (MDL) и аналогичны этим функциям. Однако вместо методов нельзя использовать IPortWaveRTStream функции MmXxx.

Наследование

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

Методы

Интерфейс IPortWaveRTStream содержит следующие методы.

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

Метод AllocateContiguousPagesForMdl выделяет список непрерывных несмежных страниц физической памяти и возвращает указатель на список дескрипторов памяти (MDL), описывающий их.
IPortWaveRTStream::AllocatePagesForMdl

Метод AllocatePagesForMdl выделяет список несмежных страниц физической памяти и возвращает указатель на список дескрипторов памяти (MDL), описывающий их.
IPortWaveRTStream::FreePagesFromMdl

Метод FreePagesFromMdl освобождает список дескрипторов памяти (MDL).
IPortWaveRTStream::GetPhysicalPageAddress

Метод GetPhysicalPageAddress возвращает физический адрес страницы в списке дескрипторов памяти (MDL).
IPortWaveRTStream::GetPhysicalPagesCount

Метод GetPhysicalPagesCount возвращает количество физических страниц в списке дескрипторов памяти (MDL).
IPortWaveRTStream::MapAllocatedPages

Метод MapAllocatedPages сопоставляет список ранее выделенных физических страниц в непрерывный блок виртуальной памяти, доступный из режима ядра.
IPortWaveRTStream::UnmapAllocatedPages

Метод UnmapAllocatedPages освобождает сопоставление.

Требования

Требование Значение
Целевая платформа Windows
Header portcls.h