Sync with trunk (r48008)
[reactos.git] / dll / win32 / mcicda / mcicda.c
index 6ea996a..4f88928 100644 (file)
@@ -465,8 +465,15 @@ static DWORD MCICDA_Open(UINT wDevID, DWORD dwFlags, LPMCI_OPEN_PARMSW lpOpenPar
     /* now, open the handle */
     root[0] = root[1] = '\\'; root[2] = '.'; root[3] = '\\'; root[4] = drive; root[5] = ':'; root[6] = '\0';
     wmcda->handle = CreateFileW(root, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, 0);
-    if (wmcda->handle != INVALID_HANDLE_VALUE)
-        return 0;
+    if (wmcda->handle == INVALID_HANDLE_VALUE)
+        goto the_error;
+
+    if (dwFlags & MCI_NOTIFY) {
+       TRACE("MCI_NOTIFY_SUCCESSFUL %08lX !\n", lpOpenParms->dwCallback);
+       mciDriverNotify(HWND_32(LOWORD(lpOpenParms->dwCallback)),
+                       wmcda->wNotifyDeviceID, MCI_NOTIFY_SUCCESSFUL);
+    }
+    return 0;
 
  the_error:
     --wmcda->nUseCount;
@@ -558,7 +565,7 @@ static DWORD MCICDA_GetDevCaps(UINT wDevID, DWORD dwFlags,
 
 static DWORD CDROM_Audio_GetSerial(CDROM_TOC* toc)
 {
-    unsigned long serial = 0;
+    DWORD serial = 0;
     int i;
     WORD wMagic;
     DWORD dwStart, dwEnd;