ReactOS  0.4.14-dev-323-g6fe6a88
wdmaud.h
Go to the documentation of this file.
1 #ifndef __WDMAUD_H__
2 #define __WDMAUD_H__
3 
4 #include <stdarg.h>
5 
6 #define WIN32_NO_STATUS
7 #define _INC_WINDOWS
8 #define COM_NO_WINDOWS_H
9 
10 #include <windef.h>
11 #include <winbase.h>
12 #include <winreg.h>
13 
14 #include <winuser.h>
15 #include <mmddk.h>
16 #include <mmebuddy.h>
17 #include <ks.h>
18 #include <ksmedia.h>
19 #include <interface.h>
20 #include <devioctl.h>
21 #include <setupapi.h>
22 
23 BOOL
25 
26 ULONG
28 
29 ULONG
31 
32 ULONG
34 
39 
42  IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
43  IN PVOID OffsetPtr,
44  IN DWORD Length,
45  IN PSOUND_OVERLAPPED Overlap,
47 
50  IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
51  IN PVOID OffsetPtr,
52  IN DWORD Length,
53  IN PSOUND_OVERLAPPED Overlap,
55 
58  IN PSOUND_DEVICE SoundDevice,
59  IN DWORD DeviceId,
61  IN DWORD CapabilitiesSize);
62 
65  IN struct _SOUND_DEVICE* SoundDevice,
66  OUT PVOID* Handle);
67 
70  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
71  IN PVOID Handle);
72 
76  IN DWORD MixerId,
77  IN LPMIXERLINEW MixLine,
78  IN ULONG Flags);
79 
83  IN DWORD MixerId,
84  IN LPMIXERLINECONTROLSW MixControls,
85  IN ULONG Flags);
86 
90  IN DWORD MixerId,
91  IN LPMIXERCONTROLDETAILS MixDetails,
92  IN ULONG Flags);
93 
97  IN DWORD MixerId,
98  IN LPMIXERCONTROLDETAILS MixDetails,
99  IN ULONG Flags);
100 
101 MMRESULT
104  IN DWORD DeviceId,
105  IN PWAVEFORMATEX WaveFormat,
106  IN DWORD WaveFormatSize);
107 
108 MMRESULT
111  IN DWORD DeviceId,
113  IN DWORD InterfaceLength,
114  OUT DWORD * InterfaceSize);
115 
116 MMRESULT
119  IN DWORD DeviceId,
120  IN PWAVEFORMATEX WaveFormat,
121  IN DWORD WaveFormatSize);
122 
123 MMRESULT
125  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
126  IN DWORD DeviceId,
127  IN UINT uMsg,
129  IN DWORD Flags);
130 
131 MMRESULT
133  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
134  IN BOOL bStart);
135 
136 MMRESULT
138  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
140  IN BOOLEAN bStartReset);
141 
142 MMRESULT
144  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
145  IN MMTIME* Time);
146 
147 MMRESULT
149  IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
150  IN PVOID OffsetPtr,
151  IN DWORD Length,
152  IN PSOUND_OVERLAPPED Overlap,
154 
155 MMRESULT
157 
158 /* legacy.c */
159 
160 MMRESULT
162 
163 MMRESULT
165  IN PSOUND_DEVICE SoundDevice,
166  IN DWORD DeviceId,
168  IN DWORD CapabilitiesSize);
169 
170 MMRESULT
172  IN PSOUND_DEVICE SoundDevice,
173  OUT PVOID *Handle
174 );
175 
176 MMRESULT
178  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
179  IN PVOID Handle);
180 
181 MMRESULT
184  IN DWORD DeviceId,
186  IN DWORD InterfaceLength,
187  OUT DWORD * InterfaceSize);
188 
189 MMRESULT
192  IN DWORD DeviceId,
193  IN PWAVEFORMATEX WaveFormat,
194  IN DWORD WaveFormatSize);
195 
196 MMRESULT
198  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
199  IN DWORD DeviceId,
200  IN UINT uMsg,
202  IN DWORD Flags);
203 
204 MMRESULT
207  IN DWORD DeviceId,
208  IN PWAVEFORMATEX WaveFormat,
209  IN DWORD WaveFormatSize);
210 
211 MMRESULT
213  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
214  IN BOOL bStart);
215 
216 MMRESULT
218  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
220  IN BOOLEAN bStartReset);
221 
222 MMRESULT
224  IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
225  IN MMTIME* Time);
226 
227 MMRESULT
229  IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
230  IN PVOID OffsetPtr,
231  IN DWORD Length,
232  IN PSOUND_OVERLAPPED Overlap,
234 
235 MMRESULT
239 
240 DWORD
241 WINAPI
243  LPVOID Parameter);
244 
245 #endif /* __WDMAUD_H__ */
ULONG WdmAudGetMixerCount(VOID)
#define IN
Definition: typedefs.h:38
MMRESULT WdmAudGetLineInfo(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERLINEW MixLine, IN ULONG Flags)
Definition: mmixer.c:405
MMRESULT WdmAudGetWavePositionByMMixer(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMTIME *Time)
Definition: mmixer.c:780
DeviceType
Definition: mmdrv.h:41
MMRESULT WdmAudCommitWaveBufferByLegacy(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine)
Definition: legacy.c:615
ULONG WdmAudGetWaveOutCount(VOID)
MMRESULT WdmAudSetMixerDeviceFormatByLegacy(IN PSOUND_DEVICE_INSTANCE Instance, IN DWORD DeviceId, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize)
Definition: legacy.c:413
MMRESULT WdmAudCloseSoundDeviceByMMixer(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID Handle)
Definition: mmixer.c:562
MMRESULT WdmAudGetNumWdmDevsByLegacy(IN MMDEVICE_TYPE DeviceType, OUT DWORD *DeviceCount)
Definition: legacy.c:98
UINT MMRESULT
Definition: mmsystem.h:962
_In_ PVOID Parameter
Definition: ldrtypes.h:241
MMRESULT WdmAudResetStreamByLegacy(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMDEVICE_TYPE DeviceType, IN BOOLEAN bStartReset)
Definition: legacy.c:855
UCHAR MMDEVICE_TYPE
Definition: mmebuddy.h:88
DWORD WINAPI MixerEventThreadRoutine(LPVOID Parameter)
Definition: legacy.c:29
MMRESULT WdmAudQueryMixerInfoByMMixer(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN DWORD DeviceId, IN UINT uMsg, IN LPVOID Parameter, IN DWORD Flags)
Definition: mmixer.c:623
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
unsigned int BOOL
Definition: ntddk_ex.h:94
MMRESULT WdmAudGetCapabilitiesByMMixer(IN PSOUND_DEVICE SoundDevice, IN DWORD DeviceId, OUT PVOID Capabilities, IN DWORD CapabilitiesSize)
Definition: mmixer.c:519
ULONG DeviceCount
Definition: mpu401.c:26
HMIXER hMixer
Definition: test.c:10
MMRESULT WdmAudResetStreamByMMixer(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMDEVICE_TYPE DeviceType, IN BOOLEAN bStartReset)
Definition: mmixer.c:758
unsigned char BOOLEAN
ULONG WdmAudGetWaveInCount(VOID)
MMRESULT WdmAudGetDeviceInterfaceStringByMMixer(IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN LPWSTR Interface, IN DWORD InterfaceLength, OUT DWORD *InterfaceSize)
Definition: mmixer.c:664
MMRESULT WdmAudSetMixerDeviceFormatByMMixer(IN PSOUND_DEVICE_INSTANCE Instance, IN DWORD DeviceId, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize)
Definition: mmixer.c:695
MMRESULT WdmAudCloseSoundDeviceByLegacy(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN PVOID Handle)
Definition: legacy.c:320
MMRESULT WdmAudGetCapabilitiesByLegacy(IN PSOUND_DEVICE SoundDevice, IN DWORD DeviceId, OUT PVOID Capabilities, IN DWORD CapabilitiesSize)
Definition: legacy.c:133
_In_ HANDLE Handle
Definition: extypes.h:390
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:359
MMRESULT WdmAudSetWaveDeviceFormatByMMixer(IN PSOUND_DEVICE_INSTANCE Instance, IN DWORD DeviceId, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize)
Definition: mmixer.c:481
MMRESULT WdmAudQueryMixerInfoByLegacy(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN DWORD DeviceId, IN UINT uMsg, IN LPVOID Parameter, IN DWORD Flags)
Definition: legacy.c:883
MMRESULT WdmAudGetWavePositionByLegacy(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN MMTIME *Time)
Definition: legacy.c:807
MMRESULT WdmAudCommitWaveBufferByMMixer(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine)
Definition: mmixer.c:812
MMRESULT WdmAudSetWaveStateByMMixer(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN BOOL bStart)
Definition: mmixer.c:708
BOOL WdmAudInitUserModeMixer(VOID)
#define WINAPI
Definition: msvc.h:8
MMRESULT WdmAudOpenSoundDeviceByMMixer(IN struct _SOUND_DEVICE *SoundDevice, OUT PVOID *Handle)
Definition: mmixer.c:551
unsigned long DWORD
Definition: ntddk_ex.h:95
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
MMRESULT WdmAudGetLineControls(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERLINECONTROLSW MixControls, IN ULONG Flags)
Definition: mmixer.c:418
MMRESULT WdmAudCleanupByMMixer(VOID)
MMRESULT WdmAudSetWaveStateByLegacy(IN struct _SOUND_DEVICE_INSTANCE *SoundDeviceInstance, IN BOOL bStart)
Definition: legacy.c:699
void(CALLBACK * LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD, LPOVERLAPPED)
Definition: winbase.h:1411
MMRESULT WdmAudSetWaveDeviceFormatByLegacy(IN PSOUND_DEVICE_INSTANCE Instance, IN DWORD DeviceId, IN PWAVEFORMATEX WaveFormat, IN DWORD WaveFormatSize)
Definition: legacy.c:470
MMRESULT WdmAudCleanupByLegacy(VOID)
MMRESULT WdmAudGetNumWdmDevsByMMixer(IN MMDEVICE_TYPE DeviceType, OUT DWORD *DeviceCount)
Definition: mmixer.c:601
MMRESULT WriteFileEx_Remixer(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine)
Definition: mixer.c:423
unsigned int UINT
Definition: ndis.h:50
IN PVOID Instance
Definition: pci.h:359
#define OUT
Definition: typedefs.h:39
_In_ PIRP _In_opt_ PVOID _In_opt_ POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine
Definition: fsrtlfuncs.h:673
unsigned int ULONG
Definition: retypes.h:1
WCHAR * LPWSTR
Definition: xmlstorage.h:184
MMRESULT WdmAudSetControlDetails(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERCONTROLDETAILS MixDetails, IN ULONG Flags)
Definition: mmixer.c:431
MMRESULT WdmAudGetControlDetails(IN HANDLE hMixer, IN DWORD MixerId, IN LPMIXERCONTROLDETAILS MixDetails, IN ULONG Flags)
Definition: mmixer.c:445
static PLARGE_INTEGER Time
Definition: time.c:105
MMRESULT WriteFileEx_Committer2(IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance, IN PVOID OffsetPtr, IN DWORD Length, IN PSOUND_OVERLAPPED Overlap, IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine)
MMRESULT WdmAudOpenSoundDeviceByLegacy(IN PSOUND_DEVICE SoundDevice, OUT PVOID *Handle)
Definition: legacy.c:255
MMRESULT WdmAudGetDeviceInterfaceStringByLegacy(IN MMDEVICE_TYPE DeviceType, IN DWORD DeviceId, IN LPWSTR Interface, IN DWORD InterfaceLength, OUT DWORD *InterfaceSize)
Definition: legacy.c:742