다음을 통해 공유


IVideoWindow 인터페이스(control.h)

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

인터페이스는 IVideoWindow 비디오 창에서 속성을 설정합니다. 애플리케이션은 이를 사용하여 창 소유자, 창의 위치 및 차원 및 기타 속성을 설정할 수 있습니다.

참고 이제 IVMRWindowlessControl 또는 IVMRWindowlessControl9 인터페이스가 에 비해 IVideoWindow선호됩니다. 자세한 내용은 창 없는 모드 사용을 참조하세요.
 
Video Renderer 필터와 Filter Graph Manager는 모두 이 인터페이스를 노출합니다. Filter Graph Manager는 모든 메서드 호출을 Video Renderer에 전달합니다. 또한 video Renderer가 수신해야 하는 특정 창 메시지(예: WM_DISPLAYCHANGE)를 전달합니다. 비디오 창은 일반적으로 애플리케이션 창의 자식이므로 필터는 그렇지 않으면 이러한 메시지를 수신하지 않습니다. 따라서 필터 그래프 관리자를 사용하여 전달합니다.

대부분의 경우 애플리케이션은 방금 설명한 메시징 문제로 인해 필터를 직접 호출하지 않고 이 인터페이스에 대해 Filter Graph Manager를 쿼리해야 합니다. 그러나 필터 그래프에 둘 이상의 Video Renderer가 있는 경우 필터 Graph 관리자는 임의로 선택된 비디오 렌더러 중 하나만 통신합니다. 따라서 애플리케이션에서 여러 비디오 창을 사용하는 경우 필터에서 IVideoWindow 직접 인터페이스를 사용합니다. 이 경우 IVideoWindow::NotifyOwnerMessage 메서드를 사용하여 각 Video Renderer instance 창 메시지를 전달해야 합니다.

다시 칠하는 동안 비디오 창이 깜박이지 않도록 하려면 WM_ERASEBKGND 메시지에 대한 기본 처리를 재정의하고 창을 지우지 마세요. (MFC 애플리케이션의 경우 빈 처리기로 CWnd::OnEraseBkgnd 를 재정의합니다.)

비디오 렌더러에 설정된 속성은 연속 연결과 연결 끊김 사이에 유지됩니다.

이 인터페이스는 Automation과 호환되므로 모든 부울 값은 OAFALSE(0) 및 OATRUE(–1)로 정의됩니다.

오류 코드: 비디오 렌더러 필터가 다른 필터에 연결되지 않은 경우 모든 메서드는 오류 코드 VFW_E_NOT_CONNECTED 반환합니다. Filter Graph Manager 구현의 경우 그래프에 비디오 렌더러 필터가 포함되어 있지 않으면 모든 메서드가 E_NOINTERFACE 반환합니다. 필터 그래프 관리자는 그래프에 비디오 렌더러가 없는 경우에도 인터페이스를 노출하므로 애플리케이션은 그래프를 빌드하기 전에 인터페이스를 쿼리할 수 있습니다.

필터 개발자: CBaseVideoWindow 클래스를 사용하여 이 인터페이스를 구현할 수 있습니다.

상속

IVideoWindow 인터페이스는 IDispatch 인터페이스에서 상속됩니다. IVideoWindow 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IVideoWindow 인터페이스에는 이러한 메서드가 있습니다.

 
IVideoWindow::get_AutoShow

get_AutoShow 메서드는 비디오 렌더러가 비디오 데이터를 받을 때 비디오 창을 자동으로 표시하는지 여부를 쿼리합니다.
IVideoWindow::get_BackgroundPalette

get_BackgroundPalette 메서드는 비디오 창이 배경에서 색상표를 실현하는지 여부를 쿼리합니다.
IVideoWindow::get_BorderColor

get_BorderColor 메서드는 대상 사각형의 가장자리 주위에 나타나는 색을 검색합니다.
IVideoWindow::get_Caption

get_Caption 메서드는 비디오 창 캡션 검색합니다.
IVideoWindow::get_FullScreenMode

get_FullScreenMode 메서드는 비디오 렌더러가 전체 화면 모드인지 여부를 쿼리합니다.
IVideoWindow::get_Height

get_Height 메서드는 비디오 창의 높이를 검색합니다.
IVideoWindow::get_Left

get_Left 메서드는 비디오 창의 x축 좌표를 검색합니다.
IVideoWindow::get_MessageDrain

get_MessageDrain 메서드는 비디오 창에서 마우스 및 키보드 메시지를 받는 창(있는 경우)을 검색합니다.
IVideoWindow::get_Owner

get_Owner 메서드는 비디오 창의 부모 창(있는 경우)을 검색합니다.
IVideoWindow::get_Top

get_Top 메서드는 비디오 창의 y 좌표를 검색합니다.
IVideoWindow::get_Visible

get_Visible 메서드는 비디오 창이 표시되는지 여부를 쿼리합니다.
IVideoWindow::get_Width

get_Width 메서드는 비디오 창의 너비를 검색합니다.
IVideoWindow::get_WindowState

get_WindowState 메서드는 비디오 창이 표시, 숨김, 최소화 또는 최대화되었는지 여부를 쿼리합니다.
IVideoWindow::get_WindowStyle

get_WindowStyle 메서드는 비디오 창에서 창 스타일을 검색합니다.
IVideoWindow::get_WindowStyleEx

get_WindowStyleEx 메서드는 비디오 창에서 확장된 창 스타일을 검색합니다.
IVideoWindow::GetMaxIdealImageSize

GetMaxIdealImageSize 메서드는 비디오 이미지에 대한 최대 이상적인 이미지 크기를 검색합니다.
IVideoWindow::GetMinIdealImageSize

GetMinIdealImageSize 메서드는 비디오 이미지에 이상적인 최소 크기를 검색합니다.
IVideoWindow::GetRestorePosition

GetRestorePosition 메서드는 복원된 창 위치를 검색합니다.
IVideoWindow::GetWindowPosition

GetWindowPosition 메서드는 비디오 창의 위치를 검색합니다.
IVideoWindow::HideCursor

HideCursor 메서드는 마우스가 비디오 창 위에 배치될 때 커서를 표시하거나 숨깁니다.
IVideoWindow::IsCursorHidden

IsCursorHidden 메서드는 커서가 숨겨져 있는지 여부를 쿼리합니다.
IVideoWindow::NotifyOwnerMessage

NotifyOwnerMessage 메서드는 비디오 창에 메시지를 전달합니다.
IVideoWindow::p ut_AutoShow

put_AutoShow 메서드는 비디오 렌더러가 비디오 데이터를 받을 때 비디오 창을 자동으로 표시할지 여부를 지정합니다.
IVideoWindow::p ut_BackgroundPalette

put_BackgroundPalette 메서드는 비디오 창이 배경에서 색상표를 실현하는지 여부를 지정합니다.
IVideoWindow::p ut_BorderColor

put_BorderColor 메서드는 대상 사각형의 가장자리 주위에 표시되는 색을 설정합니다.
IVideoWindow::p ut_Caption

put_Caption 메서드는 비디오 창을 캡션 설정합니다.
IVideoWindow::p ut_FullScreenMode

put_FullScreenMode 메서드는 전체 화면 비디오 렌더링을 사용하거나 사용하지 않도록 설정합니다.
IVideoWindow::p ut_Height

put_Height 메서드는 비디오 창의 높이를 설정합니다.
IVideoWindow::p ut_Left

put_Left 메서드는 비디오 창의 x 좌표를 설정합니다.
IVideoWindow::p ut_MessageDrain

put_MessageDrain 메서드는 비디오 창에서 마우스 및 키보드 메시지를 받을 창을 지정합니다.
IVideoWindow::p ut_Owner

put_Owner 메서드는 비디오 창의 부모 창을 지정합니다.
IVideoWindow::p ut_Top

put_Top 메서드는 비디오 창의 y 좌표를 지정합니다.
IVideoWindow::p ut_Visible

put_Visible 메서드는 비디오 창을 표시하거나 숨깁니다.
IVideoWindow::p ut_Width

put_Width 메서드는 비디오 창의 너비를 지정합니다.
IVideoWindow::p ut_WindowState

put_WindowState 메서드는 비디오 창을 표시, 숨기기, 최소화 또는 최대화합니다.
IVideoWindow::p ut_WindowStyle

put_WindowStyle 메서드는 비디오 창에서 창 스타일을 설정합니다.
IVideoWindow::p ut_WindowStyleEx

put_WindowStyleEx 메서드는 비디오 창에서 확장 창 스타일을 설정합니다.
IVideoWindow::SetWindowForeground

SetWindowForeground 메서드는 비디오 창을 Z 순서의 맨 위에 배치합니다.
IVideoWindow::SetWindowPosition

SetWindowPosition 메서드는 비디오 창의 위치를 설정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 control.h(Dshow.h 포함)

추가 정보

IDispatch