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 da usare 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 di 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 di IUnknown.
Un flusso audio è associato a ogni istanza del 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 della porta passa un riferimento IPortWaveRTStream
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 mappare le pagine allocate, annullare il mapping e liberarle.
I metodi nell'interfaccia IPortWaveRTStream
sono basati su e sono simili alle funzioni del kernel MmXxx che eseguono l'allocazione e il mapping degli elenchi dei descrittori di memoria (MDLs). Tuttavia, le funzioni MmXxx non possono essere usate al posto dei metodi IPortWaveRTStream
.
Eredità
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 di 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. |
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione | portcls.h |