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 |