Interface IPortWaveRTStream (portcls.h)

L’interface IPortWaveRTStream est prise en charge dans Windows Vista et les systèmes d’exploitation ultérieurs, et il s’agit d’une interface spécifique au flux qui fournit des méthodes d’assistance à utiliser par le pilote miniport WaveRT. Le pilote miniport appelle les méthodes pour effectuer l’allocation et le mappage des mémoires tampons cycliques pour les données audio. Le pilote de port WaveRT implémente cette interface. Le pilote de port fournit une référence d’objet IPortWaveRTStream à chaque objet de flux de pilote miniport qu’il crée. IPortWaveRTStream hérite de l’interface IUnknown .

Un flux audio est associé à chaque broche instance sur un filtre WaveRT. Le pilote d’adaptateur forme le filtre en liant le port WaveRT et les pilotes miniport. Lorsque le pilote de port appelle la méthode IMiniportWaveRT ::NewStream pour créer l’objet de flux de pilote miniport, le pilote de port transmet une IPortWaveRTStream référence comme l’un des paramètres d’appel de la méthode.

Pour allouer la mémoire nécessaire pour la mémoire tampon cyclique, le pilote miniport doit appeler la méthode AllocatePagesForMdl ou la méthode AllocateContiguousPagesForMdl de l’interface IPortWaveRTStream . L’interface fournit des méthodes supplémentaires qui peuvent mapper les pages allouées, les annuler et les libérer.

Les méthodes de l’interface IPortWaveRTStream sont basées sur et sont similaires aux fonctions du noyau MmXxx qui effectuent l’allocation et le mappage des listes de descripteurs de mémoire (MDL). Toutefois, les fonctions MmXxx ne peuvent pas être utilisées à la IPortWaveRTStream place des méthodes.

Héritage

L’interface IPortWaveRTStream hérite de l’interface IUnknown. IPortWaveRTStream a également les types de membres suivants :

Méthodes

L’interface IPortWaveRTStream utilise ces méthodes.

 
IPortWaveRTStream ::AllocateContiguousPagesForMdl

La méthode AllocateContiguousPagesForMdl alloue une liste de pages de mémoire physique contiguës, non paginées et retourne un pointeur vers une liste de descripteurs mémoire (MDL) qui les décrit.
IPortWaveRTStream ::AllocatePagesForMdl

La méthode AllocatePagesForMdl alloue une liste de pages de mémoire physique non paginée et retourne un pointeur vers une liste de descripteurs mémoire (MDL) qui les décrit.
IPortWaveRTStream ::FreePagesFromMdl

La méthode FreePagesFromMdl libère une liste de descripteurs mémoire (MDL).
IPortWaveRTStream ::GetPhysicalPageAddress

La méthode GetPhysicalPageAddress retourne l’adresse physique d’une page dans une liste de descripteurs mémoire (MDL).
IPortWaveRTStream ::GetPhysicalPagesCount

La méthode GetPhysicalPagesCount retourne le nombre de pages physiques dans une liste de descripteurs mémoire (MDL).
IPortWaveRTStream ::MapAllocatedPages

La méthode MapAllocatedPages mappe une liste de pages physiques précédemment allouées dans un bloc contigu de mémoire virtuelle accessible à partir du mode noyau.
IPortWaveRTStream ::UnmapAllocatedPages

La méthode UnmapAllocatedPages libère un mappage.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête portcls.h