waveOutProc

The waveOutProc function is the callback function used with the waveform-audio output device. The waveOutProc function is a placeholder for the application-defined function name. The address of this function can be specified in the callback-address parameter of the waveOutOpen function.

void CALLBACK waveOutProc(
  HWAVEOUT hwo,      
  UINT uMsg,         
  DWORD_PTR dwInstance,  
  DWORD_PTR dwParam1,    
  DWORD_PTR dwParam2     
);

Parameters

hwo

Handle to the waveform-audio device associated with the callback.

uMsg

Waveform-audio output message. It can be one of the following values.

Value Meaning
WOM_CLOSE Sent when the device is closed using the waveOutClose function.
WOM_DONE Sent when the device driver is finished with a data block sent using the waveOutWrite function.
WOM_OPEN Sent when the device is opened using the waveOutOpen function.

dwInstance

User-instance data specified with waveOutOpen.

dwParam1

Message parameter.

dwParam2

Message parameter.

Return Values

This function does not return a value.

Remarks

Applications should not call any system-defined functions from inside a callback function, except for EnterCriticalSection, LeaveCriticalSection, midiOutLongMsg, midiOutShortMsg, OutputDebugString, PostMessage, PostThreadMessage, SetEvent, timeGetSystemTime, timeGetTime, timeKillEvent, and timeSetEvent. Calling other wave functions will cause deadlock.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.

See Also

Waveform Audio, Waveform Functions, EnterCriticalSection, LeaveCriticalSection, midiOutLongMsg, midiOutShortMsg, OutputDebugString, PostMessage, PostThreadMessage, SetEvent, timeGetSystemTime, timeGetTime, timeKillEvent, timeSetEvent, waveOutClose, waveOutOpen, waveOutWrite, WOM_CLOSE, WOM_DONE, WOM_OPEN