Standard MME driver entry-point for messages relating to wave audio
input.
*/
-APIENTRY DWORD
+DWORD
+APIENTRY
widMessage(
- UINT DeviceId,
- UINT Message,
- DWORD_PTR PrivateHandle,
- DWORD_PTR Parameter1,
- DWORD_PTR Parameter2)
+ DWORD DeviceId,
+ DWORD Message,
+ DWORD PrivateHandle,
+ DWORD Parameter1,
+ DWORD Parameter2)
{
MMRESULT Result = MMSYSERR_NOTSUPPORTED;
case WIDM_GETDEVCAPS :
{
+
Result = MmeGetSoundDeviceCapabilities(WAVE_IN_DEVICE_TYPE,
DeviceId,
- Parameter1,
+ (PVOID) Parameter1,
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;
+ }
+
+ case WIDM_ADDBUFFER :
+ {
+ Result = MmeWriteWaveHeader(PrivateHandle, Parameter1);
+ break;
+ }
+
}
SND_TRACE(L"widMessage returning MMRESULT %d\n", Result);