다음을 통해 공유


이벤트 콜백을 사용하여 드라이버 메시지 처리

이벤트 콜백을 사용하려면 CreateEvent 함수를 사용하여 수동 재설정 이벤트를 만듭니다. waveOutOpen 함수 호출에서 fdwOpen 매개 변수에 대한 CALLBACK_EVENT 지정합니다. waveOutPrepareHeader 함수를 호출한 후 디바이스에 파형 오디오 데이터를 보내기 전에 ResetEvent 함수를 호출하여 이벤트를 서명되지 않은 상태로 전환합니다. 그런 다음 WAVEHDR 구조체의 dwFlags 멤버에서 WHDR_DONE 플래그가 설정되었는지 여부를 확인하는 루프 내에서 WaitForSingleObject 함수를 호출하고 이벤트 핸들 및 제한 시간 값 매개 변수로 지정합니다.

이벤트 콜백은 특정 닫기, 완료 또는 열린 알림을 수신하지 않으므로 애플리케이션은 이벤트가 발생한 후 대기 중인 프로세스의 상태 검사 수 있습니다. WaitForSingleObject가 반환할 때까지 많은 작업이 완료되었을 수 있습니다.

오디오 데이터 블록