Akihiro Sagawa : mciqtz32: "status mode" returns resource strings.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 3 10:01:12 CST 2015


Module: wine
Branch: master
Commit: 7b0d86514ab4275e0bcf20183814bc6e363c9456
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7b0d86514ab4275e0bcf20183814bc6e363c9456

Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date:   Sat Jan 31 14:16:32 2015 +0900

mciqtz32: "status mode" returns resource strings.

---

 dlls/mciqtz32/mciqtz.c | 16 ++++++++++------
 dlls/winmm/tests/mci.c |  2 +-
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c
index e25af89..c13746d 100644
--- a/dlls/mciqtz32/mciqtz.c
+++ b/dlls/mciqtz32/mciqtz.c
@@ -605,6 +605,7 @@ static DWORD MCIQTZ_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMS
 {
     WINE_MCIQTZ* wma;
     HRESULT hr;
+    DWORD ret = MCI_INTEGER_RETURNED;
 
     TRACE("(%04x, %08X, %p)\n", wDevID, dwFlags, lpParms);
 
@@ -663,30 +664,33 @@ static DWORD MCIQTZ_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMS
             LONG state = State_Stopped;
             IMediaControl_GetState(wma->pmctrl, -1, &state);
             if (state == State_Stopped)
-                lpParms->dwReturn = MCI_MODE_STOP;
+                lpParms->dwReturn = MAKEMCIRESOURCE(MCI_MODE_STOP, MCI_MODE_STOP);
             else if (state == State_Running) {
                 LONG code;
                 LONG_PTR p1, p2;
 
-                lpParms->dwReturn = MCI_MODE_PLAY;
+                lpParms->dwReturn = MAKEMCIRESOURCE(MCI_MODE_PLAY, MCI_MODE_PLAY);
 
                 do {
                     hr = IMediaEvent_GetEvent(wma->mevent, &code, &p1, &p2, 0);
                     if (hr == S_OK && code == EC_COMPLETE){
-                        lpParms->dwReturn = MCI_MODE_STOP;
+                        lpParms->dwReturn = MAKEMCIRESOURCE(MCI_MODE_STOP, MCI_MODE_STOP);
                         IMediaControl_Stop(wma->pmctrl);
                     }
                 } while (hr == S_OK);
 
             } else if (state == State_Paused)
-                lpParms->dwReturn = MCI_MODE_PAUSE;
+                lpParms->dwReturn = MAKEMCIRESOURCE(MCI_MODE_PAUSE, MCI_MODE_PAUSE);
+            ret = MCI_RESOURCE_RETURNED;
             break;
         }
         case MCI_STATUS_MEDIA_PRESENT:
             FIXME("MCI_STATUS_MEDIA_PRESENT not implemented yet\n");
             return MCIERR_UNRECOGNIZED_COMMAND;
         case MCI_STATUS_TIME_FORMAT:
-            lpParms->dwReturn = wma->time_format;
+            lpParms->dwReturn = MAKEMCIRESOURCE(wma->time_format,
+                                                MCI_FORMAT_RETURN_BASE + wma->time_format);
+            ret = MCI_RESOURCE_RETURNED;
             break;
         case MCI_STATUS_READY:
             FIXME("MCI_STATUS_READY not implemented yet\n");
@@ -702,7 +706,7 @@ static DWORD MCIQTZ_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMS
     if (dwFlags & MCI_NOTIFY)
         mciDriverNotify(HWND_32(LOWORD(lpParms->dwCallback)), wDevID, MCI_NOTIFY_SUCCESSFUL);
 
-    return 0;
+    return ret;
 }
 
 /***************************************************************************
diff --git a/dlls/winmm/tests/mci.c b/dlls/winmm/tests/mci.c
index 13adc6f..a729b5f 100644
--- a/dlls/winmm/tests/mci.c
+++ b/dlls/winmm/tests/mci.c
@@ -1319,7 +1319,7 @@ static void test_playWaveTypeMpegvideo(void)
 
     err = mciSendStringA("status mysound mode", buf, sizeof(buf), NULL);
     ok(!err,"mci status mode returned %s\n", dbg_mcierr(err));
-    todo_wine ok(!strcmp(buf,"playing"), "mci status mode: %s\n", buf);
+    ok(!strcmp(buf,"playing"), "mci status mode: %s\n", buf);
 
     status_parm.dwItem = MCI_STATUS_MODE;
     err = mciSendCommandA(wDeviceID, MCI_STATUS,




More information about the wine-cvs mailing list