Hi,
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
<https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/wavert-port-driver>
calls the IMiniportWaveRT::NewStream
<https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/portcls/nf-portcls-iminiportwavert-newstream>
method and receives an IMiniportWaveRTStream
<https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/portcls/nn-portcls-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?