Andrew Eikum : winmm: Handle DRV_QUERYMAPPABLE in waveXxxMessage.

Alexandre Julliard julliard at winehq.org
Tue Oct 4 17:43:03 CDT 2011


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

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Tue Oct  4 08:24:27 2011 -0500

winmm: Handle DRV_QUERYMAPPABLE in waveXxxMessage.

---

 dlls/winmm/tests/wave.c |    6 ++++++
 dlls/winmm/waveform.c   |    4 ++++
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/dlls/winmm/tests/wave.c b/dlls/winmm/tests/wave.c
index 921216b..6405cf8 100644
--- a/dlls/winmm/tests/wave.c
+++ b/dlls/winmm/tests/wave.c
@@ -30,6 +30,7 @@
 #include "winnls.h"
 #include "mmsystem.h"
 #define NOBITMAP
+#include "mmddk.h"
 #include "mmreg.h"
 #include "ks.h"
 #include "ksguid.h"
@@ -891,6 +892,11 @@ static void wave_out_test_device(UINT_PTR device)
        "waveOutGetDevCapsW(%s): unexpected return value %s\n",
        dev_name(device),wave_out_error(rc));
 
+    rc=waveOutMessage((HWAVEOUT)device, DRV_QUERYMAPPABLE, 0, 0);
+    ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED,
+            "DRV_QUERYMAPPABLE(%s): unexpected return value %s\n",
+            dev_name(device),wave_out_error(rc));
+
     nameA=NULL;
     rc=waveOutMessage((HWAVEOUT)device, DRV_QUERYDEVICEINTERFACESIZE,
                       (DWORD_PTR)&size, 0);
diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c
index 0aa6320..658fd24 100644
--- a/dlls/winmm/waveform.c
+++ b/dlls/winmm/waveform.c
@@ -2780,6 +2780,8 @@ UINT WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage,
                 (DWORD_PTR*)dwParam1, TRUE);
     case DRV_QUERYFUNCTIONINSTANCEID:
         return WINMM_QueryInstanceID(HandleToULong(hWaveOut), (WCHAR*)dwParam1, dwParam2, TRUE);
+    case DRV_QUERYMAPPABLE:
+        return MMSYSERR_NOERROR;
     }
 
     return MMSYSERR_NOTSUPPORTED;
@@ -3152,6 +3154,8 @@ UINT WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage,
                 (DWORD_PTR*)dwParam1, FALSE);
     case DRV_QUERYFUNCTIONINSTANCEID:
         return WINMM_QueryInstanceID(HandleToULong(hWaveIn), (WCHAR*)dwParam1, dwParam2, FALSE);
+    case DRV_QUERYMAPPABLE:
+        return MMSYSERR_NOERROR;
     }
 
     return MMSYSERR_NOTSUPPORTED;




More information about the wine-cvs mailing list