[wdmaudiodev] IMiniportWaveRTStreamNotification implemented, but not called

  • From: wdmaudiodev@xxxxxxxxxxxxxx
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 26 Oct 2020 11:33:25 -0700

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?

Other related posts:

  • » [wdmaudiodev] IMiniportWaveRTStreamNotification implemented, but not called - wdmaudiodev