CBaseControlWindow 클래스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
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 | 창 위치를 설정합니다. |
추가 정보