http://bugs.winehq.org/show_bug.cgi?id=28723
--- Comment #123 from Jörg Höhle hoehle@users.sourceforge.net 2012-01-20 16:32:36 CST --- Alexey, I hope you recovered well from your eyes surgery. I'd be glad if you could investigate whether native's mmdevapi *always* continues to signal events in EVENTCALLBACK mode after IAC_Start was first called. On testbot you'll find my render tests that prove that in shared mode, a) even after Stop or Reset, events continue to be triggered and b) SetEventHandle appears to return 0x8007007b on the second invocation, i.e. one cannot change the event target initially set. Can it ever cease prior to calling Release? Wine currently stops sending events after Stop. I just noticed that Wine's DSound uses timeKillEvent in Release() only, so native's mmdevapi would be a compatible source of events.
I've not tested exclusive mode, capture, behaviour after releasing some samples, waiting for several seconds or any other fancy combination.