다음을 통해 공유


이벤트 콜백을 사용하여 버퍼링된 재생 관리

이벤트 콜백을 사용하려면 CreateEvent 함수를 사용하여 이벤트의 핸들을 검색합니다. midiOutOpen 함수에 대한 호출에서 dwFlags 매개 변수에 대한 CALLBACK_EVENT 지정합니다. midiOutPrepareHeader 함수를 사용한 후 MIDI 이벤트를 디바이스로 보내기 전에 ResetEvent 함수를 호출하고 CreateEvent에서 검색한 이벤트 핸들을 지정하여 서명되지 않은 이벤트를 만듭니다. 그런 다음 MIDIHDR 구조체의 dwFlags 멤버에서 MHDR_DONE 비트가 설정되었는지 여부를 확인하는 루프 내에서 WaitForSingleObject 함수를 사용하여 이벤트 핸들과 INFINITE의 제한 시간 값을 매개 변수로 지정합니다.

이벤트 콜백은 함수 콜백을 일으킬 수 있는 모든 항목에 의해 설정됩니다.

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