From 89c0cc229a7b50e2a353d42c8c7199dc13ec2431 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Tue, 6 Oct 2009 08:47:27 +0000 Subject: [PATCH] - Implement WIDM_OPEN, WIDM_CLOSE, WIDM_PREPARE, WIDM_UNPREPARE, WIDM_RESET for wave in devices - Original code by Silverblade svn path=/trunk/; revision=43311 --- .../drivers/sound/mmebuddy/wave/widMessage.c | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/reactos/lib/drivers/sound/mmebuddy/wave/widMessage.c b/reactos/lib/drivers/sound/mmebuddy/wave/widMessage.c index e3e5a491c31..d364297aa0b 100644 --- a/reactos/lib/drivers/sound/mmebuddy/wave/widMessage.c +++ b/reactos/lib/drivers/sound/mmebuddy/wave/widMessage.c @@ -53,6 +53,42 @@ widMessage( Parameter2); break; } + case WIDM_OPEN : + { + Result = MmeOpenWaveDevice(WAVE_IN_DEVICE_TYPE, + DeviceId, + (LPWAVEOPENDESC) Parameter1, + Parameter2, + (DWORD*) PrivateHandle); + break; + } + + case WIDM_CLOSE : + { + Result = MmeCloseDevice(PrivateHandle); + + break; + } + + case WIDM_PREPARE : + { + /* TODO: Do we need to pass 2nd parameter? */ + Result = MmePrepareWaveHeader(PrivateHandle, Parameter1); + break; + } + + case WIDM_UNPREPARE : + { + Result = MmeUnprepareWaveHeader(PrivateHandle, Parameter1); + break; + } + + case WIDM_RESET : + { + /* Stop playback, reset position to zero */ + Result = MmeResetWavePlayback(PrivateHandle); + break; + } } SND_TRACE(L"widMessage returning MMRESULT %d\n", Result);