http://bugs.winehq.org/show_bug.cgi?id=23975
--- Comment #8 from Jörg Höhle hoehle@users.sourceforge.net 2010-08-12 12:26:30 --- Now I understand the confusion. The highword refers to the mechanism to select an MCI driver when there are several ones of the same type. These are then numbered something like mpegvideo, mpegvideo2 etc. As you say, there's no code to support this in Wine (several places would have to be modified). As a string: mciSendString "open mpegvideo2" As a command: mciSendCommand MCI_DEVTYPE_XYZ | number<<16 I never found a need for such support (and hence skipped writing tests for mciwave about this). Wine only has one driver per type.
This is entirely different from having one MCI driver support several devices, which Wine supports (e.g. the one mciseq.dll can access winmm MIDI device #0, #1 etc., mcicda.dll can open devices D: E: F: etc.)
so the code in mcicda.c should be changed to cover this case
No. My understanding is that the individual MCI driver never see (or must ignore) the highword. Its treatment happens a layer above, i.e. the WINMM-MCI. The latter receives an open call to mpegvideo or mpegvideo2, selects the corresponding .dll according to windows\system.ini and loads it. The loaded driver is not the one to decide "mpegvideo<N> is me/not me". IIRC I read about this in MSDN somewhere.