오류 로깅 개요

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

[이 API는 지원되지 않으며 나중에 변경되거나 사용할 수 없습니다.]

애플리케이션에서 오류를 유연하게 처리할 수 있도록 DirectShow Editing Services는 콜백 메커니즘을 사용합니다. 애플리케이션은 오류를 로깅하기 위한 메서드를 구현합니다. 런타임에 오류가 발생하면 DES는 제공한 메서드를 호출합니다. 메서드는 오류를 설명하는 매개 변수를 사용합니다. 메서드가 이 정보를 사용하여 수행하는 작업은 사용자에게 달려 있습니다. (그러나 가능한 한 빨리 반환되거나 프로그램 실행을 방해할 수 있습니다.)

오류 로깅 콜백 메서드는 COM 인터페이스 IAMErrorLog에 포함되어 있습니다. 애플리케이션은 이 인터페이스를 구현해야 합니다. 모든 COM 인터페이스와 마찬가지로 IAMErrorLog는IUnknown 인터페이스를 상속하므로 애플리케이션도 이를 구현해야 합니다.

이러한 COM 인터페이스를 구현하기 위한 몇 가지 옵션이 있습니다. IUnknown 메서드의 스톡 구현을 제공하는 ATL(활성 템플릿 라이브러리)을 사용할 수 있습니다. 또한 DirectShow는 COM 인터페이스를 쉽게 구현할 수 있는 C++ 기본 클래스인 CUnknown을 제공합니다. CUnknown 사용에 대한 자세한 내용은 IUnknown을 구현하는 방법을 참조하세요.

이 문서의 샘플 코드는 IUnknownIAMErrorLog를 모두 구현하는 자체 포함 C++ 클래스를 정의합니다. 결과는 CoCreateInstance를 지원하지 않으므로 실제 COM 개체가 아닙니다. 그러나 이 방법은 예제의 목적에 적합합니다.

로깅 오류