Interfaz IPortWaveRTStream (portcls.h)

La IPortWaveRTStream interfaz se admite en Windows Vista y en sistemas operativos posteriores, y es una interfaz específica de la secuencia que proporciona métodos auxiliares para su uso por parte del controlador de miniporte waveRT. El controlador de minipuerto llama a los métodos para realizar la asignación y asignación de búferes cíclicos para los datos de audio. El controlador de puerto waveRT implementa esta interfaz. El controlador de puerto proporciona una IPortWaveRTStream referencia de objeto a cada objeto de secuencia del controlador de miniporte que crea. IPortWaveRTStream hereda de la interfaz IUnknown .

Una secuencia de audio está asociada a cada instancia de anclaje en un filtro WaveRT. El controlador del adaptador forma el filtro enlazando el puerto WaveRT y los controladores de minipuerto. Cuando el controlador de puerto llama al método IMiniportWaveRT::NewStream para crear el objeto de secuencia del controlador de miniporte, el controlador de puerto pasa una IPortWaveRTStream referencia como uno de los parámetros de llamada del método.

Para asignar la memoria necesaria para el búfer cíclico, el controlador de minipuerto debe llamar al método AllocatePagesForMdl o al método AllocateContiguousPagesForMdl de la IPortWaveRTStream interfaz. La interfaz proporciona métodos adicionales que pueden asignar las páginas asignadas, desasignarlos y también pueden liberarlas.

Los métodos de la IPortWaveRTStream interfaz se basan y son similares a las funciones del kernel MmXxx que realizan la asignación y asignación de listas de descriptores de memoria (MDL). Sin embargo, las funciones MmXxx no se pueden usar en lugar de los IPortWaveRTStream métodos .

Herencia

La interfaz IPortWaveRTStream hereda de la interfaz IUnknown . IPortWaveRTStream también tiene estos tipos de miembros:

Métodos

La interfaz IPortWaveRTStream tiene estos métodos.

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

El método AllocateContiguousPagesForMdl asigna una lista de páginas contiguas, no paginadas, de memoria física y devuelve un puntero a una lista de descriptores de memoria (MDL) que las describe.
IPortWaveRTStream::AllocatePagesForMdl

El método AllocatePagesForMdl asigna una lista de páginas de memoria física no paginadas y devuelve un puntero a una lista de descriptores de memoria (MDL) que los describe.
IPortWaveRTStream::FreePagesFromMdl

El método FreePagesFromMdl libera una lista de descriptores de memoria (MDL).
IPortWaveRTStream::GetPhysicalPageAddress

El método GetPhysicalPageAddress devuelve la dirección física de una página dentro de una lista de descriptores de memoria (MDL).
IPortWaveRTStream::GetPhysicalPagesCount

El método GetPhysicalPagesCount devuelve el recuento de las páginas físicas en una lista de descriptores de memoria (MDL).
IPortWaveRTStream::MapAllocatedPages

El método MapAllocatedPages asigna una lista de páginas físicas asignadas previamente a un bloque contiguo de memoria virtual al que se puede acceder desde el modo kernel.
IPortWaveRTStream::UnmapAllocatedPages

El método UnmapAllocatedPages libera una asignación.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado portcls.h