winmm: move MCI settings from system.ini to the registry

Eric Pouech pouech-eric at wanadoo.fr
Sat Nov 22 02:02:21 CST 2003


Dimitrie O. Paun wrote:
> Eric,
> 
> I think these values (*.drv) sit under 
>     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI
> and not under
>     HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MCI32
> as you suggested.
On NT, MCI key is for 16 bit drivers and MCI32 key is for 32 bit drivers.
The registry key for Win9x is not the same (it's 
HKML\System\CurrentControlSet\Control\MediaResources\mci).
And most of the programs for Win9x still want to advertize their drivers 
in system.ini and not especially in the registry, so we'll have to 
provide some backup for that too.

And to add the final touch, native drivers are 16bits (even on NT, at 
least 'til 2k, didn't check on XP), wine's are 32 bits. Wine current 
code should take of this (ie load a 16 bit driver when a 32 bit was 
requested, and do all the 16 <=> 32 transformation).

So, what I'd suggest is to support all the schemes for configuring 
drivers, in this order of (decreasing) priority: registry-NT key 
(16+32), registry-Win9x key (16+32), system.ini (16+32).

We also need to be consistent about this for all the drivers (and not 
only the MCI ones), which mean a deeper look at the code (video, 
acm...). I also think, since we're about to use the native registry 
settings, that we need to support the "Disabled" key in driver 
configuration, otherwise we might get lots of errors (for not correctly 
working devices).

I won't have too much time to look at this in details right now, so if 
someone wants to jump in, I'll be happy to give him (her ?) a hand.

A+

-- 
Eric Pouech




More information about the wine-patches mailing list