Francois Gouget wrote:
> 
>    Hi,
> 
>    I noticed that many functions in mmsystem.[ch] use UINT/UINT16 as
> their return type rather than the official MMRESULT/MMRESULT16,
> MCIDEVICEID/MCIDEVICEID16 or MCIERROR/MCIERROR16. So I started a patch
> to make things closer to the specs.
> 
>    But I found that some 16 bit functions return a DWORD. I propose to
> change their return types as follows, would it be ok?
>          type
>   current   proposed     API                     Documentation
>    DWORD -> WORD         mciGetDriverData16      (undocumented)
no this should be a DWORD (as mciSetDriverData16 takes a DWORD)
(to store a far pointer)

>    DWORD -> WORD         xxx{In,Out}Message16    (DWORD in win32)
returns also a 32 bit value on 16bit mmsystem

>    DWORD -> MCIERROR16   mciSendCommand16        (MCIERROR in win32)
no, mciSendCommand returns a 32 bit entity in 16bit mmsystem

> 
> (see grep WINAPI ../wine.ref/dlls/winmm/mmsystem.c | grep 16 | sort | more)
I'll have to check out also the *Drv* which are likely to use 32bit values
(so don't change them for now)

I'd say that changing the size would be suspect to me (changing the type
from UINT16 to MMRESULT16 is pure cosmetic to me, as MMRESULT16 is a typedef
to UINT16)

A+
-- 
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle

Reply via email to