다음을 통해 공유


EC_DISPLAY_CHANGED

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

디스플레이 모드가 변경되었습니다.

매개 변수

lParam1

(IUnknown*) 비디오 렌더러의 입력 핀에 대한 IPin 인터페이스 배열에 대한 포인터입니다. lParam2가 0이면 이 매개 변수는 NULL일 수 있습니다.

lParam2

lParam2가 0이면 lParam1에 단일 IPin 포인터가 포함되거나 NULL과 같습니다. lParam2가 0보다 큰 경우 lParam1에는 IPin 포인터 배열이 포함되고 배열의 요소 수는 lParam2에서 지정됩니다.

기본 작업

필터 그래프 관리자는 그래프를 일시적으로 중지한 다음 비디오 렌더러의 연결을 끊고 다시 연결합니다. 애플리케이션에 이벤트를 전달하지 않습니다.

설명

비디오 렌더러가 WM_DISPLAYCHANGE 메시지에 대한 응답으로 이 이벤트를 보낼 수 있습니다. WM_DISPLAYCHANGE 메시지는 사용자가 디스플레이 해상도를 변경했음을 나타냅니다.

핀 연결 중에 대부분의 비디오 렌더러가 현재 디스플레이 모드에 따라 형식을 선택합니다. 디스플레이 모드가 변경되면 비디오 렌더러가 다른 형식을 선택해야 할 수 있습니다. 이 메시지를 보내면 렌더러는 필터 그래프 관리자에게 다시 연결해야 한다는 신호를 보냅니다. 다시 연결하는 동안 렌더러는 새 형식을 선택할 수 있습니다. 다시 연결에 실패하면 필터 그래프 관리자가 애플리케이션에 EC_ERRORABORT 이벤트를 보냅니다.

향상된 비디오 렌더러

발표자의 Direct3D 디바이스가 변경되면 EVR( Enhanced Video Renderer )에 대한 사용자 지정 발표자가 이 이벤트를 EVR로 보내야 합니다. lParam1lParam2를 0으로 설정합니다. EVR은 이벤트 매개 변수를 무시합니다.

요구 사항

요구 사항
헤더
Dshow.h

추가 정보

이벤트 알림 코드

DirectShow의 이벤트 알림