SND_TRACE(L"-- Current wave header list --\n"); \
while ( CurrDumpHdr ) \
{ \
- SND_TRACE(L"%x | %d bytes | flags: %x\n", CurrDumpHdr->lpData, \
+ SND_TRACE(L"%x | %d bytes | flags: %x\n", CurrDumpHdr, \
CurrDumpHdr->dwBufferLength, \
CurrDumpHdr->dwFlags); \
CurrDumpHdr = CurrDumpHdr->lpNext; \
{ \
if ( ! (parameter_condition) ) \
{ \
- SND_ERR(L"FAILED parameter check: %hS\n", #parameter_condition); \
+ SND_ERR(L"FAILED parameter check: %hS at File %S Line %lu\n", #parameter_condition, __FILE__, __LINE__); \
return MMSYSERR_INVALPARAM; \
} \
}
typedef MMRESULT (*MMMIXERQUERY_FUNC) (
IN struct _SOUND_DEVICE_INSTANCE* SoundDeviceInstance,
+ IN DWORD DeviceId,
IN UINT uMsg,
IN LPVOID Parameter,
IN DWORD Flags);
-
typedef MMRESULT (*MMWAVEQUERYFORMATSUPPORT_FUNC)(
IN struct _SOUND_DEVICE* Device,
IN PWAVEFORMATEX WaveFormat,
WAVEFORMATEX WaveFormatEx;
HANDLE hNotifyEvent;
HANDLE hStopEvent;
+ HANDLE hResetEvent;
+ BOOL ResetInProgress;
} SOUND_DEVICE_INSTANCE, *PSOUND_DEVICE_INSTANCE;
/* This lives in WAVEHDR.reserved */
VOID
NotifyMmeClient(
IN PSOUND_DEVICE_INSTANCE SoundDeviceInstance,
- IN DWORD Message,
- IN DWORD Parameter);
+ IN UINT Message,
+ IN DWORD_PTR Parameter);
MMRESULT
MmeGetSoundDeviceCapabilities(
IN DWORD CapabilitiesSize);
MMRESULT
-MmeOpenWaveDevice(
+MmeOpenDevice(
IN MMDEVICE_TYPE DeviceType,
- IN DWORD DeviceId,
+ IN UINT DeviceId,
IN LPWAVEOPENDESC OpenParameters,
IN DWORD Flags,
- OUT DWORD* PrivateHandle);
+ OUT DWORD_PTR* PrivateHandle);
MMRESULT
MmeCloseDevice(
- IN DWORD PrivateHandle);
+ IN DWORD_PTR PrivateHandle);
MMRESULT
MmeGetPosition(
IN MMDEVICE_TYPE DeviceType,
IN DWORD DeviceId,
- IN DWORD PrivateHandle,
+ IN DWORD_PTR PrivateHandle,
IN MMTIME* Time,
IN DWORD Size);
MMRESULT
MmeSetState(
- IN DWORD PrivateHandle,
+ IN DWORD_PTR PrivateHandle,
IN BOOL bStart);
MMRESULT
MmeResetWavePlayback(
- IN DWORD PrivateHandle);
+ IN DWORD_PTR PrivateHandle);
/*