Share via


Interface IPortWaveRTStream (portcls.h)

A IPortWaveRTStream interface 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 driver de miniporto WaveRT. O driver de miniporto chama os métodos para executar alocação e mapeamento de buffers cíclicos para dados de áudio. O driver de porta WaveRT implementa essa interface. O driver de porta fornece uma IPortWaveRTStream referência de objeto 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 pino em um filtro WaveRT. O driver do adaptador forma o filtro associando a porta WaveRT e os drivers de miniport. 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 IPortWaveRTStream referência 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 da IPortWaveRTStream interface. A interface fornece métodos adicionais que podem mapear as páginas alocadas, cancelá-las e também liberá-las.

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

Herança

A interface IPortWaveRTStream herda da interface IUnknown . IPortWaveRTStream também tem esses 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 dentro de uma MDL (lista de descritores de memória).
IPortWaveRTStream::GetPhysicalPagesCount

O método GetPhysicalPagesCount retorna a contagem das páginas físicas em uma MDL (lista de descritores de memória).
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 no modo kernel.
IPortWaveRTStream::UnmapAllocatedPages

O método UnmapAllocatedPages libera um mapeamento.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho portcls.h