IPortClsStreamResourceManager2 interface (portcls.h)

IPortClsStreamResourceManager2 is used to manage the registration of audio stream resources.

To help ensure glitch-free operation, audio drivers must register their streaming resources. This allows the OS to manage resources to avoid interference between audio streaming and other subsystems.

Stream resources are any resources used by the audio driver to process audio streams or ensure audio data flow.

IPortClsStreamResourceManager::AddStreamResource expects that the caller is an audio miniport driver. IPortClsStreamResourceManager2::AddStreamResource2 does not assume that the caller is an audio miniport driver, and requires an explicit pointer to the Physical Device Object (PDO).

The IPortClsStreamResourceManager2 interface is supported in Windows 10, version 1511 and later versions of Windows. IPortClsStreamResourceManager2 inherits from IPortClsStreamResourceManager and IUnknown.

A WaveRT miniport driver optionally can use this interface instead of hard-linking with the PcAddStreamResource and PcRemoveStreamResource. This option is very useful when the

same audio miniport driver must run on previous versions of Windows. The audio miniport driver can query for the IID_IPortClsStreamResourceManager2 interface and register its resources only when PortCls supports the interface.


The IPortClsStreamResourceManager2 interface inherits from the IPortClsStreamResourceManager interface.


The IPortClsStreamResourceManager2 interface has these methods.


AddStreamResource2 adds a stream resource. Two type of stream resources are supported:_interrupts and driver-owned threads. The AddStreamResource2 method can only be used by audio waveRT miniport drivers.


Target Platform Windows
Header portcls.h