diff --git a/dlls/winecoreaudio.drv/mixer.c b/dlls/winecoreaudio.drv/mixer.c index 93bf420e577..78ce6e29cf7 100644 --- a/dlls/winecoreaudio.drv/mixer.c +++ b/dlls/winecoreaudio.drv/mixer.c @@ -451,6 +451,33 @@ void CoreAudio_MixerRelease(void) HeapFree(GetProcessHeap(), 0, mixer.mixerCtrls); } +/************************************************************************** +* MIX_Open [internal] +*/ +static DWORD MIX_Open(WORD wDevID, LPMIXEROPENDESC lpMod, DWORD_PTR flags) +{ + TRACE("wDevID=%d lpMod=%p dwSize=%08lx\n", wDevID, lpMod, flags); + if (lpMod == NULL) { + WARN("invalid parameter: lpMod == NULL\n"); + return MMSYSERR_INVALPARAM; + } + + if (wDevID >= numMixers) { + WARN("bad device ID: %04X\n", wDevID); + return MMSYSERR_BADDEVICEID; + } + return MMSYSERR_NOERROR; +} + +/************************************************************************** +* MIX_GetNumDevs [internal] +*/ +static DWORD MIX_GetNumDevs(void) +{ + TRACE("()\n"); + return numMixers; +} + /************************************************************************** * mxdMessage */ @@ -469,8 +496,11 @@ DWORD WINAPI CoreAudio_mxdMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser, /* FIXME: Pretend this is supported */ return 0; case MXDM_OPEN: + return MIX_Open(wDevID, (LPMIXEROPENDESC)dwParam1, dwParam2); case MXDM_CLOSE: + return MMSYSERR_NOERROR; case MXDM_GETNUMDEVS: + return MIX_GetNumDevs(); case MXDM_GETDEVCAPS: case MXDM_GETLINEINFO: case MXDM_GETLINECONTROLS: