de9e353fadc63c643b8c8b234c63cdd6a0d132b9
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
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
);
50 Result
= MmeSetState(PrivateHandle
, TRUE
);
56 Result
= MmeSetState(PrivateHandle
, FALSE
);
60 case WIDM_GETDEVCAPS
:
63 Result
= MmeGetSoundDeviceCapabilities(WAVE_IN_DEVICE_TYPE
,
71 Result
= MmeOpenWaveDevice(WAVE_IN_DEVICE_TYPE
,
73 (LPWAVEOPENDESC
) Parameter1
,
75 (DWORD
*) PrivateHandle
);
81 Result
= MmeCloseDevice(PrivateHandle
);
88 /* TODO: Do we need to pass 2nd parameter? */
89 Result
= MmePrepareWaveHeader(PrivateHandle
, Parameter1
);
95 Result
= MmeUnprepareWaveHeader(PrivateHandle
, Parameter1
);
101 /* Stop playback, reset position to zero */
102 Result
= MmeResetWavePlayback(PrivateHandle
);
106 case WIDM_ADDBUFFER
:
108 Result
= MmeWriteWaveHeader(PrivateHandle
, Parameter1
);
114 SND_TRACE(L
"widMessage returning MMRESULT %d\n", Result
);
116 ReleaseEntrypointMutex(WAVE_IN_DEVICE_TYPE
);