[이 페이지와 연결된 기능인 Waveform Audio레거시 기능입니다. WASAPI 및 오디오 그래프에 의해 대체되었습니다. WASAPI 및 오디오 그래프 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 Waveform Audio대신 WASAPI 및 Audio Graphs 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
콜백 함수를 사용하는 것 외에도 WAVEHDR 구조체의 dwFlags 멤버를 폴링하여 오디오 디바이스가 데이터 블록으로 완료되는 시기를 확인할 수 있습니다. 드라이버에서 메시지를 수신하는 다른 메커니즘을 기다리는 대신 dwFlags을 확인하는 것이 더 나을 때도 있습니다. 예를 들어 waveOutReset 함수를 호출하여 보류 중인 데이터 블록을 해제한 후 즉시 폴링하여 waveOutUnprepareHeader 호출하고 데이터 블록에 대한 메모리를 해제하기 전에 데이터 블록이 해제되었는지 확인할 수 있습니다.
WHDR_DONE 플래그를 사용하여 dwFlags 멤버를 테스트할 수 있습니다. WAVEHDR 구조체의 dwFlags 멤버에 WHDR_DONE 플래그가 설정되면 드라이버는 데이터 블록 처리를 완료합니다.