winmm: MCI_ALL_DEVICE_ID(MCIDEVICEID) is not a 16bit entity in MCI32.
diff --git a/dlls/winmm/mci.c b/dlls/winmm/mci.c
index 9198f87..c46c4c5 100644
--- a/dlls/winmm/mci.c
+++ b/dlls/winmm/mci.c
@@ -99,7 +99,7 @@
/**************************************************************************
* MCI_GetDriver [internal]
*/
-static LPWINE_MCIDRIVER MCI_GetDriver(UINT16 wDevID)
+static LPWINE_MCIDRIVER MCI_GetDriver(UINT wDevID)
{
LPWINE_MCIDRIVER wmd = 0;
@@ -1669,7 +1669,7 @@
/**************************************************************************
* MCI_Close [internal]
*/
-static DWORD MCI_Close(UINT16 wDevID, DWORD dwParam, LPMCI_GENERIC_PARMS lpParms)
+static DWORD MCI_Close(UINT wDevID, DWORD dwParam, LPMCI_GENERIC_PARMS lpParms)
{
DWORD dwRet;
LPWINE_MCIDRIVER wmd;
@@ -1677,7 +1677,7 @@
TRACE("(%04x, %08X, %p)\n", wDevID, dwParam, lpParms);
/* Every device must handle MCI_NOTIFY on its own. */
- if (wDevID == MCI_ALL_DEVICE_ID) {
+ if ((UINT16)wDevID == (UINT16)MCI_ALL_DEVICE_ID) {
while (MciDrivers) {
/* Retrieve the device ID under lock, but send the message without,
* the driver might be calling some winmm functions from another
@@ -1894,7 +1894,7 @@
dwRet = MCI_Sound(wDevID, dwParam1, (LPMCI_SOUND_PARMSW)dwParam2);
break;
default:
- if (wDevID == MCI_ALL_DEVICE_ID) {
+ if ((UINT16)wDevID == (UINT16)MCI_ALL_DEVICE_ID) {
FIXME("unhandled MCI_ALL_DEVICE_ID\n");
dwRet = MCIERR_CANNOT_USE_ALL;
} else {
diff --git a/include/mmsystem.h b/include/mmsystem.h
index 39f70a1..dd9723a 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -1809,7 +1809,7 @@
#define MCI_USER_MESSAGES (0x400 + DRV_MCI_FIRST)
-#define MCI_ALL_DEVICE_ID 0xFFFF
+#define MCI_ALL_DEVICE_ID 0xFFFFFFFF
#define MCI_DEVTYPE_VCR (MCI_STRING_OFFSET + 1)
#define MCI_DEVTYPE_VIDEODISC (MCI_STRING_OFFSET + 2)