Partager via


Interface IPortWaveRTStream (portcls.h)

L’interface IPortWaveRTStream est prise en charge dans les systèmes d’exploitation Windows Vista et 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 de 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 pilotes miniport qu’il crée. IPortWaveRTStream hérite de l’interface IUnknown.

Un flux audio est associé à chaque instance d’épingle 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 pilotes miniport, le pilote de port transmet une référence IPortWaveRTStream 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 et sont similaires aux fonctions du noyau MmXxx qui effectuent l’allocation et le mappage des listes de descripteurs de mémoire (MDLs). Toutefois, les fonctions MmXxx ne peuvent pas être utilisées à la place des méthodes IPortWaveRTStream.

Héritage

L’interface IPortWaveRTStream hérite de l’interface IUnknown. IPortWaveRTStream possède également ces types de membres :

Méthode

L’interface IPortWaveRTStream a ces méthodes.

 
IPortWaveRTStream ::AllocateContiguousPagesForMdl

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

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

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

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

La méthode GetPhysicalPagesCount retourne le nombre de pages physiques dans une liste de descripteurs de 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.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête portcls.h