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 |