Procesamiento del mensaje de MM_WOM_DONE
En el ejemplo siguiente se muestra cómo procesar el mensaje MM_WOM_DONE . En este ejemplo se supone que la aplicación no reproduce varios bloques de datos, por lo que puede cerrar el dispositivo de salida después de reproducir un único bloque de datos.
// WndProc--Main window procedure.
LRESULT FAR PASCAL WndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch (msg)
{
case MM_WOM_DONE:
// A waveform-audio data block has been played and
// can now be freed.
waveOutUnprepareHeader((HWAVEOUT) wParam,
(LPWAVEHDR) lParam, sizeof(WAVEHDR) );
// Free hData memory.
waveOutClose((HWAVEOUT) wParam);
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}