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

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

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

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

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

Наследство

Интерфейс 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 освобождает сопоставление.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка portcls.h