6 #define WIN32_NO_STATUS
8 #define COM_NO_WINDOWS_H
19 #include <interface.h>
24 WdmAudInitUserModeMixer(VOID
);
27 WdmAudGetWaveOutCount(VOID
);
30 WdmAudGetWaveInCount(VOID
);
33 WdmAudGetMixerCount(VOID
);
36 WdmAudGetNumWdmDevsByMMixer(
37 IN MMDEVICE_TYPE DeviceType
,
38 OUT DWORD
* DeviceCount
);
41 WdmAudCommitWaveBufferByLegacy(
42 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance
,
45 IN PSOUND_OVERLAPPED Overlap
,
46 IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
50 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance
,
53 IN PSOUND_OVERLAPPED Overlap
,
54 IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
57 WdmAudGetCapabilitiesByMMixer(
58 IN PSOUND_DEVICE SoundDevice
,
60 OUT PVOID Capabilities
,
61 IN DWORD CapabilitiesSize
);
64 WdmAudOpenSoundDeviceByMMixer(
65 IN
struct _SOUND_DEVICE
* SoundDevice
,
69 WdmAudCloseSoundDeviceByMMixer(
70 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
77 IN LPMIXERLINEW MixLine
,
81 WdmAudGetLineControls(
84 IN LPMIXERLINECONTROLSW MixControls
,
88 WdmAudSetControlDetails(
91 IN LPMIXERCONTROLDETAILS MixDetails
,
95 WdmAudGetControlDetails(
98 IN LPMIXERCONTROLDETAILS MixDetails
,
102 WdmAudSetWaveDeviceFormatByMMixer(
103 IN PSOUND_DEVICE_INSTANCE Instance
,
105 IN PWAVEFORMATEX WaveFormat
,
106 IN DWORD WaveFormatSize
);
109 WdmAudGetDeviceInterfaceStringByMMixer(
110 IN MMDEVICE_TYPE DeviceType
,
113 IN DWORD InterfaceLength
,
114 OUT DWORD
* InterfaceSize
);
117 WdmAudSetMixerDeviceFormatByMMixer(
118 IN PSOUND_DEVICE_INSTANCE Instance
,
120 IN PWAVEFORMATEX WaveFormat
,
121 IN DWORD WaveFormatSize
);
124 WdmAudQueryMixerInfoByMMixer(
125 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
132 WdmAudSetWaveStateByMMixer(
133 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
137 WdmAudResetStreamByMMixer(
138 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
139 IN MMDEVICE_TYPE DeviceType
,
140 IN BOOLEAN bStartReset
);
143 WdmAudGetWavePositionByMMixer(
144 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
148 WdmAudCommitWaveBufferByMMixer(
149 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance
,
152 IN PSOUND_OVERLAPPED Overlap
,
153 IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
156 WdmAudCleanupByMMixer(VOID
);
161 WdmAudCleanupByLegacy(VOID
);
164 WdmAudGetCapabilitiesByLegacy(
165 IN PSOUND_DEVICE SoundDevice
,
167 OUT PVOID Capabilities
,
168 IN DWORD CapabilitiesSize
);
171 WdmAudOpenSoundDeviceByLegacy(
172 IN PSOUND_DEVICE SoundDevice
,
177 WdmAudCloseSoundDeviceByLegacy(
178 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
182 WdmAudGetDeviceInterfaceStringByLegacy(
183 IN MMDEVICE_TYPE DeviceType
,
186 IN DWORD InterfaceLength
,
187 OUT DWORD
* InterfaceSize
);
190 WdmAudSetMixerDeviceFormatByLegacy(
191 IN PSOUND_DEVICE_INSTANCE Instance
,
193 IN PWAVEFORMATEX WaveFormat
,
194 IN DWORD WaveFormatSize
);
197 WdmAudQueryMixerInfoByLegacy(
198 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
205 WdmAudSetWaveDeviceFormatByLegacy(
206 IN PSOUND_DEVICE_INSTANCE Instance
,
208 IN PWAVEFORMATEX WaveFormat
,
209 IN DWORD WaveFormatSize
);
212 WdmAudSetWaveStateByLegacy(
213 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
217 WdmAudResetStreamByLegacy(
218 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
219 IN MMDEVICE_TYPE DeviceType
,
220 IN BOOLEAN bStartReset
);
223 WdmAudGetWavePositionByLegacy(
224 IN
struct _SOUND_DEVICE_INSTANCE
* SoundDeviceInstance
,
228 WriteFileEx_Committer2(
229 IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance
,
232 IN PSOUND_OVERLAPPED Overlap
,
233 IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
);
236 WdmAudGetNumWdmDevsByLegacy(
237 IN MMDEVICE_TYPE DeviceType
,
238 OUT DWORD
* DeviceCount
);
242 MixerEventThreadRoutine(
245 #endif /* __WDMAUD_H__ */