2014-01-26 11:45:40 +00:00
|
|
|
#ifndef __WDMAUD_H__
|
|
|
|
#define __WDMAUD_H__
|
2009-12-13 15:36:19 +00:00
|
|
|
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <stdarg.h>
|
2014-01-26 11:45:40 +00:00
|
|
|
|
|
|
|
#define WIN32_NO_STATUS
|
|
|
|
#define _INC_WINDOWS
|
|
|
|
#define COM_NO_WINDOWS_H
|
|
|
|
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <windef.h>
|
2015-03-14 17:50:30 +00:00
|
|
|
#include <winbase.h>
|
|
|
|
#include <winreg.h>
|
|
|
|
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <winuser.h>
|
2009-12-13 15:36:19 +00:00
|
|
|
#include <mmddk.h>
|
|
|
|
#include <mmebuddy.h>
|
2016-10-13 09:21:57 +00:00
|
|
|
#include <ks.h>
|
2009-12-13 15:36:19 +00:00
|
|
|
#include <ksmedia.h>
|
2013-01-24 23:00:42 +00:00
|
|
|
#include <interface.h>
|
2014-01-26 11:45:40 +00:00
|
|
|
#include <devioctl.h>
|
2015-03-14 17:50:30 +00:00
|
|
|
#include <setupapi.h>
|
2009-12-13 15:36:19 +00:00
|
|
|
|
|
|
|
BOOL
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudInitUserModeMixer(VOID);
|
2009-12-13 15:36:19 +00:00
|
|
|
|
2009-12-20 00:55:52 +00:00
|
|
|
ULONG
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudGetWaveOutCount(VOID);
|
2009-12-20 00:55:52 +00:00
|
|
|
|
|
|
|
ULONG
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudGetWaveInCount(VOID);
|
2009-12-20 00:55:52 +00:00
|
|
|
|
2009-12-13 15:36:19 +00:00
|
|
|
ULONG
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudGetMixerCount(VOID);
|
2009-12-13 15:36:19 +00:00
|
|
|
|
|
|
|
MMRESULT
|
2010-06-24 10:52:46 +00:00
|
|
|
WdmAudGetNumWdmDevsByMMixer(
|
2009-12-23 03:05:11 +00:00
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
OUT DWORD* DeviceCount);
|
2009-12-13 15:36:19 +00:00
|
|
|
|
2010-02-03 12:48:27 +00:00
|
|
|
MMRESULT
|
|
|
|
WdmAudCommitWaveBufferByLegacy(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
|
|
|
|
IN PVOID OffsetPtr,
|
|
|
|
IN DWORD Length,
|
|
|
|
IN PSOUND_OVERLAPPED Overlap,
|
|
|
|
IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine);
|
|
|
|
|
2009-12-20 00:55:52 +00:00
|
|
|
MMRESULT
|
2009-12-23 03:05:11 +00:00
|
|
|
WriteFileEx_Remixer(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
|
|
|
|
IN PVOID OffsetPtr,
|
|
|
|
IN DWORD Length,
|
|
|
|
IN PSOUND_OVERLAPPED Overlap,
|
|
|
|
IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine);
|
2009-12-20 00:55:52 +00:00
|
|
|
|
|
|
|
MMRESULT
|
2009-12-23 03:05:11 +00:00
|
|
|
WdmAudGetCapabilitiesByMMixer(
|
|
|
|
IN PSOUND_DEVICE SoundDevice,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
OUT PVOID Capabilities,
|
|
|
|
IN DWORD CapabilitiesSize);
|
2009-12-20 00:55:52 +00:00
|
|
|
|
2009-12-13 15:36:19 +00:00
|
|
|
MMRESULT
|
2009-12-23 03:05:11 +00:00
|
|
|
WdmAudOpenSoundDeviceByMMixer(
|
|
|
|
IN struct _SOUND_DEVICE* SoundDevice,
|
|
|
|
OUT PVOID* Handle);
|
2009-12-13 15:36:19 +00:00
|
|
|
|
|
|
|
MMRESULT
|
2009-12-23 03:05:11 +00:00
|
|
|
WdmAudCloseSoundDeviceByMMixer(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN PVOID Handle);
|
2009-12-20 00:55:52 +00:00
|
|
|
|
2009-12-13 15:36:19 +00:00
|
|
|
MMRESULT
|
|
|
|
WdmAudGetLineInfo(
|
|
|
|
IN HANDLE hMixer,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD MixerId,
|
2009-12-23 03:05:11 +00:00
|
|
|
IN LPMIXERLINEW MixLine,
|
2009-12-13 15:36:19 +00:00
|
|
|
IN ULONG Flags);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetLineControls(
|
|
|
|
IN HANDLE hMixer,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD MixerId,
|
2009-12-13 15:36:19 +00:00
|
|
|
IN LPMIXERLINECONTROLSW MixControls,
|
|
|
|
IN ULONG Flags);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudSetControlDetails(
|
|
|
|
IN HANDLE hMixer,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD MixerId,
|
2009-12-13 15:36:19 +00:00
|
|
|
IN LPMIXERCONTROLDETAILS MixDetails,
|
|
|
|
IN ULONG Flags);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetControlDetails(
|
|
|
|
IN HANDLE hMixer,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD MixerId,
|
2009-12-13 15:36:19 +00:00
|
|
|
IN LPMIXERCONTROLDETAILS MixDetails,
|
|
|
|
IN ULONG Flags);
|
|
|
|
|
2009-12-23 03:05:11 +00:00
|
|
|
MMRESULT
|
2010-06-24 10:52:46 +00:00
|
|
|
WdmAudSetWaveDeviceFormatByMMixer(
|
2009-12-23 03:05:11 +00:00
|
|
|
IN PSOUND_DEVICE_INSTANCE Instance,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN PWAVEFORMATEX WaveFormat,
|
|
|
|
IN DWORD WaveFormatSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetDeviceInterfaceStringByMMixer(
|
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN LPWSTR Interface,
|
|
|
|
IN DWORD InterfaceLength,
|
|
|
|
OUT DWORD * InterfaceSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudSetMixerDeviceFormatByMMixer(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE Instance,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN PWAVEFORMATEX WaveFormat,
|
|
|
|
IN DWORD WaveFormatSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudQueryMixerInfoByMMixer(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD DeviceId,
|
2009-12-23 03:05:11 +00:00
|
|
|
IN UINT uMsg,
|
|
|
|
IN LPVOID Parameter,
|
|
|
|
IN DWORD Flags);
|
|
|
|
|
|
|
|
MMRESULT
|
2010-06-24 10:52:46 +00:00
|
|
|
WdmAudSetWaveStateByMMixer(
|
2009-12-23 03:05:11 +00:00
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN BOOL bStart);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudResetStreamByMMixer(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
IN BOOLEAN bStartReset);
|
|
|
|
|
|
|
|
MMRESULT
|
2010-06-24 10:52:46 +00:00
|
|
|
WdmAudGetWavePositionByMMixer(
|
2009-12-23 03:05:11 +00:00
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN MMTIME* Time);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudCommitWaveBufferByMMixer(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
|
|
|
|
IN PVOID OffsetPtr,
|
|
|
|
IN DWORD Length,
|
|
|
|
IN PSOUND_OVERLAPPED Overlap,
|
|
|
|
IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine);
|
|
|
|
|
2010-02-03 12:48:27 +00:00
|
|
|
MMRESULT
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudCleanupByMMixer(VOID);
|
2009-12-23 03:05:11 +00:00
|
|
|
|
|
|
|
/* legacy.c */
|
|
|
|
|
2010-02-03 12:48:27 +00:00
|
|
|
MMRESULT
|
2011-03-13 20:56:27 +00:00
|
|
|
WdmAudCleanupByLegacy(VOID);
|
2009-12-23 03:05:11 +00:00
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetCapabilitiesByLegacy(
|
|
|
|
IN PSOUND_DEVICE SoundDevice,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
OUT PVOID Capabilities,
|
|
|
|
IN DWORD CapabilitiesSize);
|
|
|
|
|
|
|
|
MMRESULT
|
2011-03-13 21:28:51 +00:00
|
|
|
WdmAudOpenSoundDeviceByLegacy(
|
|
|
|
IN PSOUND_DEVICE SoundDevice,
|
|
|
|
OUT PVOID *Handle
|
|
|
|
);
|
2009-12-23 03:05:11 +00:00
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudCloseSoundDeviceByLegacy(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN PVOID Handle);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetDeviceInterfaceStringByLegacy(
|
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN LPWSTR Interface,
|
|
|
|
IN DWORD InterfaceLength,
|
|
|
|
OUT DWORD * InterfaceSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudSetMixerDeviceFormatByLegacy(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE Instance,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN PWAVEFORMATEX WaveFormat,
|
|
|
|
IN DWORD WaveFormatSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudQueryMixerInfoByLegacy(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
2011-01-28 11:23:37 +00:00
|
|
|
IN DWORD DeviceId,
|
2009-12-23 03:05:11 +00:00
|
|
|
IN UINT uMsg,
|
|
|
|
IN LPVOID Parameter,
|
|
|
|
IN DWORD Flags);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudSetWaveDeviceFormatByLegacy(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE Instance,
|
|
|
|
IN DWORD DeviceId,
|
|
|
|
IN PWAVEFORMATEX WaveFormat,
|
|
|
|
IN DWORD WaveFormatSize);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudSetWaveStateByLegacy(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN BOOL bStart);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudResetStreamByLegacy(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
IN BOOLEAN bStartReset);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetWavePositionByLegacy(
|
|
|
|
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
|
|
|
|
IN MMTIME* Time);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WriteFileEx_Committer2(
|
|
|
|
IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
|
|
|
|
IN PVOID OffsetPtr,
|
|
|
|
IN DWORD Length,
|
|
|
|
IN PSOUND_OVERLAPPED Overlap,
|
|
|
|
IN LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine);
|
|
|
|
|
|
|
|
MMRESULT
|
|
|
|
WdmAudGetNumWdmDevsByLegacy(
|
|
|
|
IN MMDEVICE_TYPE DeviceType,
|
|
|
|
OUT DWORD* DeviceCount);
|
|
|
|
|
|
|
|
DWORD
|
|
|
|
WINAPI
|
|
|
|
MixerEventThreadRoutine(
|
|
|
|
LPVOID Parameter);
|
|
|
|
|
2014-01-26 11:45:40 +00:00
|
|
|
#endif /* __WDMAUD_H__ */
|