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 |