[PATCH 1/5] winmm: Improve MCI's Sysinfo command.

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Tue Apr 6 06:23:28 CDT 2010


Hi,

Eric Pouech wrote:

>SYSINFO_PARMS.wDeviceType = (WORD)(DWORD)MCI_ALL_DEVICE_ID;
>work better ?
I tested ... = (WORD)MCI_ALL_DEVICE_ID which
should do the same.  It does not yield the "all" functionality.

>did you check what mciGetDeviceID("all") returns on Vista or XP ?
Yes, and it is in the tests.  Alas, you'll have to believe my comment therein
that Win9x returns a 16bit FFFF and the others a 32bit FFFFFFFF,
because the testsuite never works like
ok((iswin9x && MCI_ALL_DEVICE_ID==err) || !iswin9x && (WORD)MCI_ALL_DEVICE_ID==err))

While we know that
1. mciDeviceID "all" yields 0000FFFF in Win9x and that
2. mciCommand(0000FFFF, MCI_SYSINFO ...) yield "all" only in Win9x
sadly we don't know if some Win9x app out there uses 0000FFFF as MCIDEVICEID.

My opinion is that MCIDEVICEID has to be treated in Wine like a 16bit entity
because compatibility with Win9x requires it and the question whether >65535
handles can be opened is not interesting in practice -- or we'll have to start
writing version-dependent code.

Regards,
 Jörg Höhle



More information about the wine-devel mailing list