Het MM_WOM_DONE-bericht verwerken
[De functie die is gekoppeld aan deze pagina, Waveform Audio, is een verouderde functie. Het is vervangen door WASAPI- en Audio Graphs. WASAPI en Audio Graphs zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan dat nieuwe code WASAPI- en Audio Graphs gebruikt in plaats van Waveform Audio-, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]
In het volgende voorbeeld ziet u hoe u het MM_WOM_DONE bericht verwerkt. In dit voorbeeld wordt ervan uitgegaan dat de toepassing niet meerdere gegevensblokken afspeelt, zodat het uitvoerapparaat kan worden gesloten nadat één gegevensblok is afgespeeld.
// 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);
}