Standard MME driver entry-point for messages relating to wave audio
input.
*/
-APIENTRY DWORD
+DWORD
+APIENTRY
widMessage(
DWORD DeviceId,
DWORD Message,
case WIDM_GETDEVCAPS :
{
+
Result = MmeGetSoundDeviceCapabilities(WAVE_IN_DEVICE_TYPE,
DeviceId,
(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);