- strmini.h: Include windef.h so CDECL gets defined for msvc version of DEFINE_GUIDEX...
[reactos.git] / reactos / lib / drivers / sound / mmebuddy / mixer / mxdMessage.c
1 /*
2 * PROJECT: ReactOS Sound System "MME Buddy" Library
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: lib/sound/mmebuddy/mixer/mxdMessage.c
5 *
6 * PURPOSE: Provides the mxdMessage exported function, as required by
7 * the MME API, for mixer device support.
8 *
9 * PROGRAMMERS: Andrew Greenwood (silverblade@reactos.org)
10 */
11
12 #include <windows.h>
13 #include <mmsystem.h>
14 #include <mmddk.h>
15
16 #include <ntddsnd.h>
17 #include <sndtypes.h>
18
19 #include <mmebuddy.h>
20
21 /*
22 Standard MME driver entry-point for messages relating to mixers.
23 */
24 DWORD
25 APIENTRY
26 mxdMessage(
27 DWORD DeviceId,
28 DWORD Message,
29 DWORD PrivateHandle,
30 DWORD Parameter1,
31 DWORD Parameter2)
32 {
33 MMRESULT Result = MMSYSERR_NOTSUPPORTED;
34
35 AcquireEntrypointMutex(MIXER_DEVICE_TYPE);
36
37 SND_TRACE(L"mxdMessage - Message type %d\n", Message);
38
39 switch ( Message )
40 {
41 case MXDM_GETNUMDEVS :
42 {
43 Result = GetSoundDeviceCount(MIXER_DEVICE_TYPE);
44 break;
45 }
46
47 case MXDM_GETDEVCAPS :
48 {
49 Result = MmeGetSoundDeviceCapabilities(MIXER_DEVICE_TYPE,
50 DeviceId,
51 (PVOID) Parameter1,
52 Parameter2);
53 break;
54 }
55
56 case MXDM_INIT :
57 {
58 break;
59 }
60
61 case MXDM_OPEN :
62 {
63 break;
64 }
65
66 case MXDM_CLOSE :
67 {
68 break;
69 }
70
71 case MXDM_GETCONTROLDETAILS :
72 {
73 break;
74 }
75
76 case MXDM_SETCONTROLDETAILS :
77 {
78 break;
79 }
80
81 case MXDM_GETLINECONTROLS :
82 {
83 break;
84 }
85
86 case MXDM_GETLINEINFO :
87 {
88 break;
89 }
90 }
91
92 SND_TRACE(L"mxdMessage returning MMRESULT %d\n", Result);
93
94 ReleaseEntrypointMutex(MIXER_DEVICE_TYPE);
95
96 return Result;
97 }