IPortWaveRTStream interface is supported in Windows Vista and later operating systems, and it is a stream-specific interface that provides helper methods for use by the WaveRT miniport driver. The miniport driver calls the methods to perform allocation and mapping of cyclic buffers for audio data. The WaveRT port driver implements this interface. The port driver gives an
IPortWaveRTStream object reference to each miniport driver stream object that it creates.
IPortWaveRTStream inherits from the IUnknown interface.
An audio stream is associated with each pin instance on a WaveRT filter. The adapter driver forms the filter by binding the WaveRT port and miniport drivers. When the port driver calls the IMiniportWaveRT::NewStream method to create the miniport driver stream object, the port driver passes an
IPortWaveRTStream reference as one of the method's call parameters.
To allocate the memory needed for the cyclic buffer, the miniport driver must call the AllocatePagesForMdl method or the AllocateContiguousPagesForMdl method of the
IPortWaveRTStream interface. The interface provides additional methods that can map the allocated pages, unmap them, and can also free them.
The methods in the
IPortWaveRTStream interface are based on, and are similar to, the MmXxx kernel functions that perform allocation and mapping of memory descriptor lists (MDLs). However, the MmXxx functions cannot be used in place of the
In addition to the methods that
IPortWaveRTStream inherits from the IUnknown interface,
IPortWaveRTStream supports the following methods: