CBaseControlWindow 클래스

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

cbasecontrolwindow 클래스 계층 구조

CBaseControlWindow 클래스는 IVideoWindow 인터페이스를 구현하고 연결된 필터에 대한 외부 액세스를 제어합니다. 중요한 섹션 동기화 개체에 대한 포인터를 전달하여 CBaseControlWindow 개체를 필터와 동기화해야 합니다. CBaseControlWindow 클래스는 이 중요한 섹션을 처리하지 않고 속성 설정을 반환하는 여러 메서드를 제공합니다. 예를 들어 CBaseControlWindow::get_AutoShow 호출하여 m_bAutoShow 데이터 멤버의 값을 검색하면 중요한 섹션이 잠기게 됩니다. 그러나 필터에 이미 잠긴 내부 중요 섹션이 있을 수 있으며 이는 필터의 잠금 계층 구조를 위반할 수 있습니다. 대신 CBaseControlWindow::IsAutoShowEnabled 멤버 함수를 호출하면 중요한 섹션에 영향을 주지 않고 필요한 값이 반환됩니다.

모든 CBaseControlWindow 구현 IVideoWindow 메서드를 사용하려면 필터를 업스트림 필터와 올바르게 연결해야 합니다. 이러한 이유로 클래스 개체에는 CBaseControlWindow::SetControlWindowPin 메서드를 호출하여 설정한 동기화 핀이 필요합니다. IVideoWindow 메서드를 호출할 때마다 CBaseControlWindow 개체는 핀이 여전히 연결되어 있는지 확인합니다.

보호된 데이터 멤버 Description
m_bAutoShow 상태가 변경되면 결과입니다.
m_bCursorHidden 커서가 표시되는지 숨겨지는지 여부를 결정합니다.
m_BorderColour 현재 창 테두리의 색입니다.
m_hwndDrain 받은 메시지가 게시되는 창 핸들입니다.
m_hwndOwner 소유 창.
m_pFilter 소유 미디어 필터에 대한 포인터입니다.
m_pInterfaceLock 외부에서 정의된 중요 섹션입니다.
m_pPin 연결에 대한 미디어 형식을 제어합니다.
멤버 함수 Description
CBaseControlWindow CBaseControlWindow 개체를 생성합니다.
DoGetWindowStyle 일반적인 또는 확장된 창 스타일을 검색합니다.
DoSetWindowStyle 일반 또는 확장 창 스타일을 설정합니다.
GetBorderColour 현재 테두리 색을 검색합니다. 도우미 멤버 함수입니다.
GetOwnerWindow 소유 창을 검색합니다. 도우미 멤버 함수입니다.
IsAutoShowEnabled 렌더링 필터가 일시 중지되거나 실행되면 비디오 창이 자동으로 표시되는지 여부에 대한 정보를 검색합니다.
IsCursorHidden 중요한 섹션을 잠그지 않고 m_bCursorHidden 데이터 멤버의 현재 상태를 검색합니다. 도우미 멤버 함수입니다.
PossiblyEatMessage 부모 창에 메시지를 배포합니다.
SetControlWindowPin 적용할 핀의 개체를 알 수 있습니다.
IVideoWindow 메서드 Description
get_AutoShow 현재 자동 표시 플래그 설정을 검색합니다.
get_BackgroundPalette 백그라운드 플래그에서 실현된 팔레트를 검색합니다.
get_BorderColor 현재 테두리 색을 검색합니다.
get_Caption 현재 창 캡션 검색합니다.
get_ FullScreenMode 현재 전체 화면 모드를 검색합니다.
get_Height 현재 창 높이를 검색합니다.
get_Left 현재 왼쪽 창 좌표를 검색합니다.
GetMaxIdealImageSize 이상적인 이미지의 최대 크기를 검색합니다.
get_MessageDrain 현재 메시지 드레인을 검색합니다.
GetMinIdealImageSize 이상적인 이미지의 최소 크기를 검색합니다.
get_Owner 부모 창 핸들을 검색합니다.
GetRestorePosition 최대화되거나 최소화될 때 창을 복원할 위치를 검색합니다.
get_Top 창 맨 위에 대한 y 좌표를 검색합니다.
get_Visible 창의 현재 표시 유형 설정을 검색합니다.
get_Width 창의 너비를 검색합니다.
GetWindowPosition 현재 창 좌표를 검색합니다.
get_WindowState 창의 현재 상태를 검색합니다.
get_WindowStyle 표준 창 스타일을 검색합니다.
get_WindowStyleEx 확장 창 스타일을 검색합니다.
HideCursor 커서를 숨기거나 표시합니다.
IsCursorHidden m_bCursorHidden 데이터 멤버의 현재 상태를 검색합니다.
NotifyOwnerMessage 소유 창으로 전송되는 메시지를 전달합니다.
put_AutoShow AutoShow 속성을 설정합니다.
put_BackgroundPalette 배경에서 팔레트를 실현하는 플래그를 설정합니다.
put_BorderColor 현재 테두리 색을 설정합니다.
put_Caption 현재 창 캡션 설정합니다.
put_ FullScreenMode 전체 화면 모드를 설정합니다.
put_Height 현재 창 높이를 설정합니다.
put_Left 창의 왼쪽 좌표를 설정합니다.
put_MessageDrain 메시지 드레이닝 창을 설정합니다.
put_Owner Microsoft Win32 부모 창 핸들을 설정합니다.
put_Top 창 위쪽의 위치를 설정합니다.
put_Visible 창을 숨기거나 표시합니다.
put_Width 창의 너비를 설정합니다.
put_WindowState 창의 상태를 설정합니다.
put_WindowStyle 표준 창 스타일을 설정합니다.
put_WindowStyleEx 확장 창 스타일을 설정합니다.
SetWindowForeground 포그라운드의 창을 설정합니다.
SetWindowPosition 창 위치를 설정합니다.

 

추가 정보

DirectShow 기본 클래스