[1/2] mmsystem.dll16: fix MCI_STATUS mapping for digitalvideo

Damjan Jovanovic damjan.jov at gmail.com
Wed May 11 14:43:33 CDT 2011


On Mon, May 9, 2011 at 6:35 PM,  <Joerg-Cyril.Hoehle at t-systems.com> wrote:

> Any of these steps means much more code than the simple^Histic
> approach which has worked surprisingly well for the last 10 years: "if
> flag 00020000 is set in OPEN, it must be MCI_*_OPEN_PARENT, as none of
> the other 4 standard drivers (wave, MIDI, avi qtz, CDA) uses that bit."
> Likewise MCI_DGV_STATUS_DISKSPACE

Thank you for the detailed explanation. The problem then becomes that
if a driver expects MCI_DGV_STATUS_PARMS, and we pass MCI_STATUS_PARMS
because the request didn't looks like it's destined for a digitalvideo
device, it might go and read/write a field that's outside the bounds
of the allocated structure. But since it seems that the extra fields
should generally only be used if special flags were also passed, and
those flags would allow us to detect the device type and pass the
right structure, I suppose the current heuristics are good enough.

And now I can see why Microsoft abandoned further MCI development :-).

> Regards,
>        Jörg Höhle
>

Regards
Damjan Jovanovic



More information about the wine-devel mailing list