비동기 호출과 함께 이벤트 사용
[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 작성기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
비동기적으로 호출되는 메서드를 사용하는 경우 메서드가 처리를 완료할 때까지 애플리케이션의 추가 처리를 중지하는 경우가 많습니다. 이 상황을 처리하려는 모든 기술을 구현할 수 있습니다. 이 섹션에서는 이벤트를 사용하여 호출 스레드에서 비동기 호출을 기다리는 방법을 설명합니다. 이 기술은 Windows Media Format SDK에서 자주 사용되며 일부 샘플 애플리케이션에서 설명합니다.
다음 목록에서는 비동기 호출을 기다리는 이벤트의 사용을 요약합니다.
- 플랫폼 SDK의 CreateEvent 함수를 호출하여 애플리케이션에서 사용할 이벤트를 만듭니다.
- 애플리케이션에 대한 적절한 콜백을 구현할 때 기다려야 하는 메시지를 트래핑합니다. 원하는 메시지에 대한 메시지 처리 논리에서 플랫폼 SDK의 SetEvent 함수를 호출하여 이벤트에 신호를 보냅니다.
- 애플리케이션에서 비동기 이벤트를 호출한 후 Platform SDK의 WaitForSingleObject 함수를 호출하여 이벤트가 신호를 받을 때까지 기다립니다. Windows 애플리케이션을 디자인하는 경우 Windows 메시지를 검사 짧은 대기 시간으로 루프에 WaitForSingleObject 호출을 포함하는 루프를 만들어야 합니다.
관련 항목