http://bugs.winehq.org/show_bug.cgi?id=22146
--- Comment #1 from Jörg Höhle hoehle@users.sourceforge.net 2010-03-24 04:23:40 --- Dmitry Timoshkov tells me: "HWND is defined in windef.h ... a generic pointer." Perhaps I looked in some other place like wtypes.h and was mislead.
Well, we have those options A) Define and use MCI_INTEGER64, and B) Special-case MCI_STATUS' integer return type C) ?
My plan is to produce 2 patches along the B route. That's "good enough" and much better than what's currently in git (i.e. it might work :). It can and should be superseded by an "A route" patch as soon as somebody shows evidence that native knows about such a special return type, either from documentation or from a resource dump of a 64bit winmm.dll or mciav32.dll if that's legal. The second patch would handle MCI_HWND, MCI_HDC and MCI_HPAL types.
Perhaps MS changed MCI_STATUS' return type to DWORD_PTR precisely because some status command may return handles, e.g. MCI_DGV_STATUS_HWND or MCI_DGV_STATUS_HPAL?