[Bug 19523] winmm: Multiple waveOutOpen calls on single device supported by Windows, not Wine

Ken Thomases ken at codeweavers.com
Sat Sep 19 03:14:33 CDT 2009


Taking this conversation out of the bug, since it seems I opened the  
bug in error and it should be closed.

On Sep 19, 2009, at 2:29 AM, wine-bugs at winehq.org wrote:

> http://bugs.winehq.org/show_bug.cgi?id=19523
>
> --- Comment #3 from Eric Pouech <eric.pouech at orange.fr>  2009-09-19  
> 02:28:51 ---
> of course, there is...

OK, in that case: a) that's good to know; and b) thanks for setting me  
straight.  I might quibble with "of course", though. ;)

> let's take the wave out driver interface as example:
>
> DWORD WINAPI wodMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
>                        DWORD_PTR dwParam1, DWORD_PTR dwParam2);
>
> in case wMsg in WODM_OPEN, dwUser is expected to be a pointer to a  
> DWORD, that
> the driver is supposed to filled with a unique instance ID (to  
> identify the
> stream)
>
> in other (subsequent) messages, winmm passes in dwUser the unique ID  
> defined by
> the driver at WODM_OPEN time
>
> winmm correctly supports this scheme (see MMDRV_Open in dlls/winmm/ 
> lolvldrv.c)

No offense, but looking at MMDRV_Open, it's clear as mud to me that  
dwDriverInstance has this meaning and corresponds to dwUser.  Is there  
any documentation of the low-level driver interface?


> but, none of the wine drivers correctly initialize the dwUser while  
> processing
> the various XXXX_OPEN messages

Does that mean this functionality is untested?

Thanks again,
Ken




More information about the wine-devel mailing list