<Joerg-Cyril.Hoehle(a)t-systems.com> wrote:
+ FIXME("(%04x) vkey %04X stub\n", dwFlags, lpParms->nVirtKey);
That change is unwanted.
- if (dwFlags & MCI_NOTIFY) - mciDriverNotify((HWND)lpParms->dwCallback, wDevID, - (dwRet == 0) ? MCI_NOTIFY_SUCCESSFUL : MCI_NOTIFY_FAILURE); - + if (MMSYSERR_NOERROR==dwRet && (dwFlags & MCI_NOTIFY)) + mciDriverNotify((HWND)lpParms->dwCallback, wDevID, MCI_NOTIFY_SUCCESSFUL); return dwRet; }
@@ -1903,10 +1906,9 @@ static DWORD MCI_Sound(UINT wDevID, DWORD dwFlags, LPMCI_SOUND_PARMSW lpParms) dwRet = sndPlaySoundW(lpParms->lpstrSoundName, SND_SYNC) ? MMSYSERR_NOERROR : MMSYSERR_ERROR; else dwRet = MMSYSERR_ERROR; /* what should be done ??? */ - if (dwFlags & MCI_NOTIFY) - mciDriverNotify((HWND)lpParms->dwCallback, wDevID, - (dwRet == 0) ? MCI_NOTIFY_SUCCESSFUL : MCI_NOTIFY_FAILURE);
+ if (MMSYSERR_NOERROR==dwRet && (dwFlags & MCI_NOTIFY)) + mciDriverNotify((HWND)lpParms->dwCallback, wDevID, MCI_NOTIFY_SUCCESSFUL); return dwRet; }
Do you have a test case which shows that notofication is not sent is the failure case? Also 'if (MMSYSERR_NOERROR==dwRet' misses spaces, and having comparison reversed doesn't match the style of the surrounding code. -- 1.5.6.3 [text/plain (2B)] -- Dmitry.