And what is the error? If you know the error code returned, Ill add it to the code so we can end this discussion.
The error is MMSYSERR_INVALPARAM.
I can see that this patch has now been committed:
--- wine/dlls/winmm/tests/wave.c:1.67 Fri Feb 29 06:18:36 2008 +++ wine/dlls/winmm/tests/wave.c Fri Apr 25 08:12:48 2008 @@ -854,9 +854,9 @@ }
rc=waveOutGetDevCapsA(device,&capsA,4); - ok(rc==MMSYSERR_NOERROR, - "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR expected, got %s\n", - dev_name(device),wave_out_error(rc)); + ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_INVALPARAM, + "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR or MMSYSERR_INVALPARAM " + "expected, got %s\n", dev_name(device),wave_out_error(rc));
However, the waveOutGetDevCapsW fails as well on WTS, also returning MMSYSERR_INVALPARAM.
We could add MMSYSERR_INVALPARAM as a valid return code, but again, if we accept both success and a bunch of failures, the test makes very little sense.
Here's a patch that completely removes the odd tests:
--- wave.c 25 Apr 2008 13:12:48 -0000 1.68 +++ wave.c 28 Apr 2008 06:57:07 -0000 @@ -853,16 +853,6 @@ "expected, got %s\n",dev_name(device),wave_out_error(rc)); }
- rc=waveOutGetDevCapsA(device,&capsA,4); - ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_INVALPARAM, - "waveOutGetDevCapsA(%s): MMSYSERR_NOERROR or MMSYSERR_INVALPARAM " - "expected, got %s\n", dev_name(device),wave_out_error(rc)); - - rc=waveOutGetDevCapsW(device,&capsW,4); - ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED, - "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED " - "expected, got %s\n",dev_name(device),wave_out_error(rc)); - nameA=NULL; rc=waveOutMessage((HWAVEOUT)device, DRV_QUERYDEVICEINTERFACESIZE, (DWORD_PTR)&size, 0);
Here's a patch that adds MMSYSERR_INVALPARAM as accepted return code:
--- wave.c 25 Apr 2008 13:12:48 -0000 1.68 +++ wave.c 28 Apr 2008 06:58:14 -0000 @@ -859,8 +859,8 @@ "expected, got %s\n", dev_name(device),wave_out_error(rc));
rc=waveOutGetDevCapsW(device,&capsW,4); - ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED, - "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED " + ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED || rc==MMSYSERR_INVALPARAM, + "waveOutGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED or MMSYSERR_INVALPARAM " "expected, got %s\n",dev_name(device),wave_out_error(rc));
nameA=NULL;
Rgds, --- Peter Åstrand ThinLinc Chief Developer Cendio AB http://www.cendio.se Wallenbergs gata 4 583 30 Linköping Phone: +46-13-21 46 00