2 * PROJECT: ReactOS Sound System "MME Buddy" Library
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: lib/sound/mmebuddy/wave/widMessage.c
6 * PURPOSE: Provides the widMessage exported function, as required by
7 * the MME API, for wave input device support.
9 * PROGRAMMERS: Andrew Greenwood (silverblade@reactos.org)
22 Standard MME driver entry-point for messages relating to wave audio
30 DWORD_PTR PrivateHandle
,
34 MMRESULT Result
= MMSYSERR_NOTSUPPORTED
;
36 AcquireEntrypointMutex(WAVE_IN_DEVICE_TYPE
);
38 SND_TRACE(L
"widMessage - Message type %d\n", Message
);
42 case WIDM_GETNUMDEVS
:
44 Result
= GetSoundDeviceCount(WAVE_IN_DEVICE_TYPE
);
48 case WIDM_GETDEVCAPS
:
51 Result
= MmeGetSoundDeviceCapabilities(WAVE_IN_DEVICE_TYPE
,
59 Result
= MmeOpenWaveDevice(WAVE_IN_DEVICE_TYPE
,
61 (LPWAVEOPENDESC
) Parameter1
,
63 (DWORD
*) PrivateHandle
);
69 Result
= MmeCloseDevice(PrivateHandle
);
76 /* TODO: Do we need to pass 2nd parameter? */
77 Result
= MmePrepareWaveHeader(PrivateHandle
, Parameter1
);
83 Result
= MmeUnprepareWaveHeader(PrivateHandle
, Parameter1
);
89 /* Stop playback, reset position to zero */
90 Result
= MmeResetWavePlayback(PrivateHandle
);
96 Result
= MmeWriteWaveHeader(PrivateHandle
, Parameter1
);
102 SND_TRACE(L
"widMessage returning MMRESULT %d\n", Result
);
104 ReleaseEntrypointMutex(WAVE_IN_DEVICE_TYPE
);