X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=lib%2Fdrivers%2Fsound%2Fmmebuddy%2Fmixer%2FmxdMessage.c;h=08815ba8eee3acc5724aa11958c59d47d5c1f641;hp=86e63773c0ef08244897b7a3d05ae8ce34e6845e;hb=406dfdbc870f3a6874c0959a87428c94f7526d3b;hpb=49d7aed8895573fa88c798f85ed6a45083f59354 diff --git a/lib/drivers/sound/mmebuddy/mixer/mxdMessage.c b/lib/drivers/sound/mmebuddy/mixer/mxdMessage.c index 86e63773c0e..08815ba8eee 100644 --- a/lib/drivers/sound/mmebuddy/mixer/mxdMessage.c +++ b/lib/drivers/sound/mmebuddy/mixer/mxdMessage.c @@ -20,10 +20,10 @@ MMRESULT MmeGetLineInfo( - IN DWORD Message, - IN DWORD PrivateHandle, - IN DWORD Parameter1, - IN DWORD Parameter2) + IN UINT Message, + IN DWORD_PTR PrivateHandle, + IN DWORD_PTR Parameter1, + IN DWORD_PTR Parameter2) { MMRESULT Result; PSOUND_DEVICE_INSTANCE SoundDeviceInstance; @@ -52,110 +52,17 @@ MmeGetLineInfo( } -MMRESULT -MmeCloseMixerDevice( - IN DWORD PrivateHandle) -{ - MMRESULT Result; - PSOUND_DEVICE_INSTANCE SoundDeviceInstance; - PSOUND_DEVICE SoundDevice; - - SND_TRACE(L"Closing mixer device \n"); - - VALIDATE_MMSYS_PARAMETER( PrivateHandle ); - SoundDeviceInstance = (PSOUND_DEVICE_INSTANCE) PrivateHandle; - - if ( ! IsValidSoundDeviceInstance(SoundDeviceInstance) ) - return MMSYSERR_INVALHANDLE; - - Result = GetSoundDeviceFromInstance(SoundDeviceInstance, &SoundDevice); - if ( ! MMSUCCESS(Result) ) - return TranslateInternalMmResult(Result); - - - Result = DestroySoundDeviceInstance(SoundDeviceInstance); - - return Result; -} - -MMRESULT -MmeOpenMixerDevice( - IN MMDEVICE_TYPE DeviceType, - IN DWORD DeviceId, - IN LPMIXEROPENDESC OpenParameters, - IN DWORD Flags, - OUT DWORD* PrivateHandle) -{ - MMRESULT Result; - PMMFUNCTION_TABLE FunctionTable; - PSOUND_DEVICE SoundDevice; - PSOUND_DEVICE_INSTANCE SoundDeviceInstance; - - SND_TRACE(L"Opening mixer device"); - - VALIDATE_MMSYS_PARAMETER( OpenParameters ); - - Result = GetSoundDevice(DeviceType, DeviceId, &SoundDevice); - if ( ! MMSUCCESS(Result) ) - return TranslateInternalMmResult(Result); - - /* Check that winmm gave us a private handle to fill */ - VALIDATE_MMSYS_PARAMETER( PrivateHandle ); - - /* Create a sound device instance and open the sound device */ - Result = CreateSoundDeviceInstance(SoundDevice, &SoundDeviceInstance); - if ( ! MMSUCCESS(Result) ) - return TranslateInternalMmResult(Result); - - Result = GetSoundDeviceFunctionTable(SoundDevice, &FunctionTable); - if ( ! MMSUCCESS(Result) ) - return TranslateInternalMmResult(Result); - - if ( ! FunctionTable->SetWaveFormat ) - return MMSYSERR_NOTSUPPORTED; - - Result = FunctionTable->SetWaveFormat(SoundDeviceInstance, DeviceId, NULL, 0); - if ( ! MMSUCCESS(Result) ) - { - /* TODO: Destroy sound instance */ - return TranslateInternalMmResult(Result); - } - - /* Store the device instance pointer in the private handle - is DWORD safe here? */ - *PrivateHandle = (DWORD) SoundDeviceInstance; - - /* Store the additional information we were given - FIXME: Need flags! */ - SetSoundDeviceInstanceMmeData(SoundDeviceInstance, - (HDRVR)OpenParameters->hmx, - OpenParameters->dwCallback, - OpenParameters->dwInstance, - Flags); - - /* Let the application know the device is open */ - ReleaseEntrypointMutex(DeviceType); -#if 0 - NotifyMmeClient(SoundDeviceInstance, - DeviceType == WAVE_OUT_DEVICE_TYPE ? WOM_OPEN : WIM_OPEN, - 0); -#endif - AcquireEntrypointMutex(DeviceType); - - SND_TRACE(L"Mixer device now open\n"); - - return MMSYSERR_NOERROR; -} - /* Standard MME driver entry-point for messages relating to mixers. */ DWORD APIENTRY mxdMessage( - DWORD DeviceId, - DWORD Message, - DWORD PrivateHandle, - DWORD Parameter1, - DWORD Parameter2) + UINT DeviceId, + UINT Message, + DWORD_PTR PrivateHandle, + DWORD_PTR Parameter1, + DWORD_PTR Parameter2) { MMRESULT Result = MMSYSERR_NOTSUPPORTED; @@ -188,18 +95,18 @@ mxdMessage( case MXDM_OPEN : { - Result = MmeOpenMixerDevice(MIXER_DEVICE_TYPE, - DeviceId, - (LPMIXEROPENDESC) Parameter1, - Parameter2, - (DWORD*) PrivateHandle); + Result = MmeOpenDevice(MIXER_DEVICE_TYPE, + DeviceId, + (LPWAVEOPENDESC) Parameter1, /* unused */ + Parameter2, + (DWORD*) PrivateHandle); break; } case MXDM_CLOSE : { - Result = MmeCloseMixerDevice(PrivateHandle); + Result = MmeCloseDevice(PrivateHandle); break; }