Interfaccia IPortWaveRTStream (portcls.h)

L'interfaccia IPortWaveRTStream è supportata in Windows Vista e nei sistemi operativi successivi ed è un'interfaccia specifica del flusso che fornisce metodi helper per l'uso dal driver miniport WaveRT. Il driver miniport chiama i metodi per eseguire l'allocazione e il mapping dei buffer ciclici per i dati audio. Il driver della porta WaveRT implementa questa interfaccia. Il driver di porta fornisce un riferimento all'oggetto IPortWaveRTStream a ogni oggetto flusso del driver miniport creato. IPortWaveRTStream eredita dall'interfaccia IUnknown .

Un flusso audio è associato a ogni istanza di pin in un filtro WaveRT. Il driver dell'adattatore forma il filtro associando la porta WaveRT e i driver miniport. Quando il driver di porta chiama il metodo IMiniportWaveRT::NewStream per creare l'oggetto flusso del driver miniport, il driver di porta passa un IPortWaveRTStream riferimento come uno dei parametri di chiamata del metodo.

Per allocare la memoria necessaria per il buffer ciclico, il driver miniport deve chiamare il metodo AllocatePagesForMdl o il metodo AllocateContiguousPagesForMdl dell'interfaccia IPortWaveRTStream . L'interfaccia fornisce metodi aggiuntivi che possono eseguire il mapping delle pagine allocate, annullare il mapping e liberarle.

I metodi nell'interfaccia sono basati su e sono simili alle funzioni del kernel MmXxx che eseguono l'allocazione IPortWaveRTStream e il mapping degli elenchi dei descrittori di memoria (MDL). Tuttavia, le funzioni MmXxx non possono essere usate al posto dei IPortWaveRTStream metodi .

Ereditarietà

L'interfaccia IPortWaveRTStream eredita dall'interfaccia IUnknown . IPortWaveRTStream include anche questi tipi di membri:

Metodi

L'interfaccia IPortWaveRTStream include questi metodi.

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

Il metodo AllocateContiguousPagesForMdl alloca un elenco di pagine di memoria fisica contigue, non di paging e restituisce un puntatore a un elenco di descrittori di memoria (MDL) che li descrive.
IPortWaveRTStream::AllocatePagesForMdl

Il metodo AllocatePagesForMdl alloca un elenco di pagine di memoria fisica non di paging e restituisce un puntatore a un elenco di descrittori di memoria (MDL) che li descrive.
IPortWaveRTStream::FreePagesFromMdl

Il metodo FreePagesFromMdl libera un elenco di descrittori di memoria (MDL).
IPortWaveRTStream::GetPhysicalPageAddress

Il metodo GetPhysicalPageAddress restituisce l'indirizzo fisico per una pagina all'interno di un elenco di descrittori di memoria (MDL).
IPortWaveRTStream::GetPhysicalPagesCount

Il metodo GetPhysicalPagesCount restituisce il conteggio delle pagine fisiche in un elenco di descrittori di memoria (MDL).
IPortWaveRTStream::MapAllocatedPages

Il metodo MapAllocatedPages esegue il mapping di un elenco di pagine fisiche allocate in precedenza in un blocco contiguo di memoria virtuale accessibile dalla modalità kernel.
IPortWaveRTStream::UnmapAllocatedPages

Il metodo UnmapAllocatedPages rilascia un mapping.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione portcls.h