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