Interfaz IVideoWindow (control.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

La IVideoWindow interfaz establece las propiedades en la ventana de vídeo. Las aplicaciones pueden usarla para establecer el propietario de la ventana, la posición y las dimensiones de la ventana y otras propiedades.

Nota Ahora se prefiere la interfaz IVMRWindowlessControl o IVMRWindowlessControl9 sobre IVideoWindow. Para obtener más información, vea Uso del modo sin ventanas.
 
El filtro Video Renderer y filter Graph Manager exponen esta interfaz. Filter Graph Manager reenvía todas las llamadas de método al representador de vídeo. También reenvía determinados mensajes de ventana que video Renderer necesita recibir, como WM_DISPLAYCHANGE. Dado que la ventana de vídeo suele ser un elemento secundario de una ventana de aplicación, el filtro no recibiría estos mensajes. Por lo tanto, se basa en el Administrador de gráficos de filtros para reenviarlos.

En la mayoría de los casos, una aplicación debe consultar el Administrador de gráficos de filtros para esta interfaz y no llamar al filtro directamente, debido al problema de mensajería que se acaba de describir. Sin embargo, si el gráfico de filtro tiene más de un representador de vídeo, el Administrador de gráficos de filtros solo se comunica con uno de ellos, seleccionado arbitrariamente. Por lo tanto, si la aplicación usa varias ventanas de vídeo, use la IVideoWindow interfaz directamente en los filtros. En ese caso, debe reenviar mensajes de ventana a cada instancia de Video Renderer mediante el método IVideoWindow::NotifyOwnerMessage .

Para evitar que la ventana de vídeo parpadee durante los reintentos, invalide el control predeterminado del mensaje de WM_ERASEBKGND y no borre la ventana. (Para las aplicaciones MFC, invalide CWnd::OnEraseBkgnd con un controlador vacío).

Las propiedades establecidas en un representador de vídeo persisten entre conexiones sucesivas y desconexiones.

Dado que esta interfaz es compatible con Automation, todos los valores booleanos se definen como OAFALSE (0) y OATRUE (–1).

Códigos de error: Si el filtro del representador de vídeo no está conectado a otro filtro, todos los métodos devuelven el código de error VFW_E_NOT_CONNECTED. Para la implementación de Filter Graph Manager, si el grafo no contiene un filtro de representador de vídeo, todos los métodos devuelven E_NOINTERFACE. Tenga en cuenta que el Administrador de gráficos de filtros expone la interfaz incluso cuando el grafo no contiene un representador de vídeo, por lo que una aplicación puede consultar la interfaz antes de compilar el gráfico.

Filtrar desarrolladores: Puede usar la clase CBaseVideoWindow para ayudar a implementar esta interfaz.

Herencia

La interfaz IVideoWindow hereda de la interfaz IDispatch . IVideoWindow también tiene estos tipos de miembros:

Métodos

La interfaz IVideoWindow tiene estos métodos.

 
IVideoWindow::get_AutoShow

El método get_AutoShow consulta si el representador de vídeo muestra automáticamente la ventana de vídeo cuando recibe datos de vídeo.
IVideoWindow::get_BackgroundPalette

El método get_BackgroundPalette consulta si la ventana de vídeo se da cuenta de su paleta en segundo plano.
IVideoWindow::get_BorderColor

El método get_BorderColor recupera el color que aparece alrededor de los bordes del rectángulo de destino.
IVideoWindow::get_Caption

El método get_Caption recupera la ventana de vídeo subtítulo.
IVideoWindow::get_FullScreenMode

El método get_FullScreenMode consulta si el representador de vídeo está en modo de pantalla completa.
IVideoWindow::get_Height

El método get_Height recupera el alto de la ventana de vídeo.
IVideoWindow::get_Left

El método get_Left recupera la coordenada del eje X de la ventana de vídeo.
IVideoWindow::get_MessageDrain

El método get_MessageDrain recupera la ventana que recibe mensajes de mouse y teclado de la ventana de vídeo, si existe.
IVideoWindow::get_Owner

El método get_Owner recupera la ventana primaria de la ventana de vídeo, si existe.
IVideoWindow::get_Top

El método get_Top recupera la coordenada y de la ventana de vídeo.
IVideoWindow::get_Visible

El método get_Visible consulta si la ventana de vídeo está visible.
IVideoWindow::get_Width

El método get_Width recupera el ancho de la ventana de vídeo.
IVideoWindow::get_WindowState

El método get_WindowState consulta si la ventana de vídeo está visible, oculta, minimizada o maximizada.
IVideoWindow::get_WindowStyle

El método get_WindowStyle recupera los estilos de ventana en la ventana de vídeo.
IVideoWindow::get_WindowStyleEx

El método get_WindowStyleEx recupera los estilos de ventana extendidos en la ventana de vídeo.
IVideoWindow::GetMaxIdealImageSize

El método GetMaxIdealImageSize recupera el tamaño de imagen ideal máximo para la imagen de vídeo.
IVideoWindow::GetMinIdealImageSize

El método GetMinIdealImageSize recupera el tamaño mínimo ideal para la imagen de vídeo.
IVideoWindow::GetRestorePosition

El método GetRestorePosition recupera la posición de la ventana restaurada.
IVideoWindow::GetWindowPosition

El método GetWindowPosition recupera la posición de la ventana de vídeo.
IVideoWindow::HideCursor

El método HideCursor muestra u oculta el cursor cuando el mouse se coloca sobre la ventana de vídeo.
IVideoWindow::IsCursorHidden

El método IsCursorHidden consulta si el cursor está oculto.
IVideoWindow::NotifyOwnerMessage

El método NotifyOwnerMessage reenvía un mensaje a la ventana de vídeo.
IVideoWindow::p ut_AutoShow

El método put_AutoShow especifica si el representador de vídeo muestra automáticamente la ventana de vídeo cuando recibe datos de vídeo.
IVideoWindow::p ut_BackgroundPalette

El método put_BackgroundPalette especifica si la ventana de vídeo se da cuenta de su paleta en segundo plano.
IVideoWindow::p ut_BorderColor

El método put_BorderColor establece el color que aparece alrededor de los bordes del rectángulo de destino.
IVideoWindow::p ut_Caption

El método put_Caption establece la ventana de vídeo subtítulo.
IVideoWindow::p ut_FullScreenMode

El método put_FullScreenMode habilita o deshabilita la representación de vídeo en pantalla completa.
IVideoWindow::p ut_Height

El método put_Height establece el alto de la ventana de vídeo.
IVideoWindow::p ut_Left

El método put_Left establece la coordenada x de la ventana de vídeo.
IVideoWindow::p ut_MessageDrain

El método put_MessageDrain especifica una ventana para recibir mensajes de mouse y teclado de la ventana de vídeo.
IVideoWindow::p ut_Owner

El método put_Owner especifica una ventana primaria para la ventana de vídeo.
IVideoWindow::p ut_Top

El método put_Top especifica la coordenada y de la ventana de vídeo.
IVideoWindow::p ut_Visible

El método put_Visible muestra u oculta la ventana de vídeo.
IVideoWindow::p ut_Width

El método put_Width especifica el ancho de la ventana de vídeo.
IVideoWindow::p ut_WindowState

El método put_WindowState muestra, oculta, minimiza o maximiza la ventana de vídeo.
IVideoWindow::p ut_WindowStyle

El método put_WindowStyle establece los estilos de ventana en la ventana de vídeo.
IVideoWindow::p ut_WindowStyleEx

El método put_WindowStyleEx establece los estilos de ventana extendidos en la ventana de vídeo.
IVideoWindow::SetWindowForeground

El método SetWindowForeground coloca la ventana de vídeo en la parte superior del orden Z.
IVideoWindow::SetWindowPosition

El método SetWindowPosition establece la posición de la ventana de vídeo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado control.h (incluir Dshow.h)

Consulte también

IDispatch