Hello!
When application uses DSound to play with my driver,everything goes
well.But when application uses MME(WaveOutXXX and WaveInXXX) to play sound
with driver directly,under stress test for long ,this situation happened.
DispatchIoctl() function received a “write” IRP,and then PcDispatchIrp
sent it to port driver,port driver called mini driver’s
MappingAvailable, Then called port driver’s GetMapping as usual ,but got a
“STATUS_NOT_FOUND” message!
DDK said : A mapping is not immediately available, but the port driver
will call IMiniportWavePciStream::MappingAvailable when a mapping does
become available.
I’m sure that data had been sent to driver because DispathIoctl received a
“write” IRP,why it can’t get data immediately sometimes?
I just retry calling GetMapping some times when this happen, a new mapping
comes.Is this method exactness ?
Best Regards!
Simba