Partilhar via


Interface IPortWaveRTStream (portcls.h)

A interface IPortWaveRTStream tem suporte no Windows Vista e em sistemas operacionais posteriores e é uma interface específica de fluxo que fornece métodos auxiliares para uso pelo do driver de miniporto WaveRT. O driver de miniporto chama os métodos para executar a alocação e o mapeamento de buffers cíclicos para dados de áudio. O driver de porta WaveRT implementa essa interface. O driver de porta fornece uma referência de objeto IPortWaveRTStream a cada objeto de fluxo de driver de miniporto que ele cria. IPortWaveRTStream herda da interface IUnknown.

Um fluxo de áudio é associado a cada instância de pin em um filtro WaveRT. O driver do adaptador forma o filtro associando a porta WaveRT e os drivers de miniporto. Quando o driver de porta chama o método IMiniportWaveRT::NewStream para criar o objeto de fluxo do driver de miniporto, o driver de porta passa uma referência IPortWaveRTStream como um dos parâmetros de chamada do método.

Para alocar a memória necessária para o buffer cíclico, o driver de miniporto deve chamar o método AllocatePagesForMdl ou o método AllocateContiguousPagesForMdl do da interface IPortWaveRTStream. A interface fornece métodos adicionais que podem mapear as páginas alocadas, cancelá-las e também liberá-las.

Os métodos na interface IPortWaveRTStream são baseados e são semelhantes às funções de kernel MmXxx que executam alocação e mapeamento de listas de descritores de memória (MDLs). No entanto, as funções MmXxx não podem ser usadas no lugar dos métodos IPortWaveRTStream.

Herança

A interface IPortWaveRTStream herda da interface IUnknown. IPortWaveRTStream também tem estes tipos de membros:

Métodos

A interface IPortWaveRTStream tem esses métodos.

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

O método AllocateContiguousPagesForMdl aloca uma lista de páginas de memória física contíguas, nãopagadas e retorna um ponteiro para uma MDL (lista de descritores de memória) que as descreve.
IPortWaveRTStream::AllocatePagesForMdl

O método AllocatePagesForMdl aloca uma lista de páginas de memória física nãopagadas e retorna um ponteiro para uma MDL (lista de descritores de memória) que as descreve.
IPortWaveRTStream::FreePagesFromMdl

O método FreePagesFromMdl libera uma MDL (lista de descritores de memória).
IPortWaveRTStream::GetPhysicalPageAddress

O método GetPhysicalPageAddress retorna o endereço físico de uma página em uma lista de descritores de memória (MDL).
IPortWaveRTStream::GetPhysicalPagesCount

O método GetPhysicalPagesCount retorna a contagem das páginas físicas em uma lista de descritores de memória (MDL).
IPortWaveRTStream::MapAllocatedPages

O método MapAllocatedPages mapeia uma lista de páginas físicas alocadas anteriormente em um bloco contíguo de memória virtual acessível do modo kernel.
IPortWaveRTStream::UnmapAllocatedPages

O método UnmapAllocatedPages libera um mapeamento.

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho portcls.h