[wdmaudiodev] DispatchIoctl Received a Write IRP,GetMapping return STATUS_NOT_FOUND

  • From: "Debug Kernel" <kerneldebug@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 12 Apr 2007 09:45:25 +0800

Hello!
  I have wrote a Virtual Sound Card driver uses MS' KS
mode.Whenapplication uses DSound to play with my driver,everything
goes
well.But when application uses MME(WaveOutXXX and WaveInXXX) to play sound
with my driver directly,under stress test for long ,this situation happened.
 My DispatchIoctl() function  received a "write" IRP,and then
PcDispatchIrp  sent it to port driver,port driver called my mini driver's
MappingAvailable, I called port driver's GetMapping as usual ,but  got a
"STATUS_NOT_FOUND" message!
 MS said : A mapping is not immediately available, but the port driver will
call 
*IMiniportWavePciStream::MappingAvailable*<mk:@MSITStore:F:\WINDDK\3790.1830\help\audstream.chm::/hh/audstream/audmp-routines_931efc43-ec71-4b60-905a-47ec374da31e.xml.htm>when
a mapping does become available.

I'm sure that data had been sent to driver because DispathIoctl  received a
"write" IRP,why I can't  get it immediately sometimes?
 I just retry calling GetMapping some times when this happen, a new mapping
comes.Is this method exactness ?

Best Regards!

Simba

Other related posts: