Интерфейс 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 |