In my MiniportWaveRtStream class, I've implemented IMiniportWaveRTStreamNotification, IMiniportWaveRTInputStream and IMiniportWaveRTOutputStream (in addition to IMiniportWaveRTStream).
The relevant docs say:
To access the |IMiniportWaveRTStreamNotification| interface, the
WaveRT port driver
calls the IMiniportWaveRT::NewStream
method and receives an IMiniportWaveRTStream
interface. The WaveRT port driver then queries the
*IMiniportWaveRTStream* interface, uisng QueryInterface, and
receives the |IMiniportWaveRTStreamNotification| interface.
...and I've verified that's happening; I see calls from PortCls to my stream class's NonDelegatingQueryInterface for all three interfaces. Unfortunately, none of the methods on any of those three interfaces ever gets called. For example, when I play audio through my driver, I still see IMiniportWaveRtStream::AllocateAudioBuffer being called instead of IMiniportWaveRtStreamNotification::AllocateBufferWithNotification.
Anyone know what I might be doing wrong?