Freigeben über


IVideoWindow-Schnittstelle (control.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die IVideoWindow Schnittstelle legt Eigenschaften für das Videofenster fest. Anwendungen können damit den Fensterbesitzer, die Position und Dimensionen des Fensters und andere Eigenschaften festlegen.

Hinweis Die IVMRWindowlessControl- oder IVMRWindowlessControl9-Schnittstelle wird jetzt gegenüber IVideoWindowbevorzugt. Weitere Informationen finden Sie unter Verwenden des Fensterlosen Modus.
 
Der Videorenderer-Filter und der Filtergraph-Manager machen diese Schnittstelle verfügbar. Der Filter Graph-Manager leitet alle Methodenaufrufe an den Video Renderer weiter. Außerdem werden bestimmte Fenstermeldungen weitergeleitet, die der Video renderer empfangen muss, z. B. WM_DISPLAYCHANGE. Da das Videofenster in der Regel ein untergeordnetes Element eines Anwendungsfensters ist, würde der Filter diese Nachrichten andernfalls nicht empfangen. Daher wird der Filter graph-Manager verwendet, um sie weiterzuleiten.

In den meisten Fällen sollte eine Anwendung den Filter graph-Manager für diese Schnittstelle abfragen und den Filter aufgrund des soeben beschriebenen Messagingproblems nicht direkt aufrufen. Wenn das Filterdiagramm jedoch über mehr als einen Videorenderer verfügt, kommuniziert der Filtergraph-Manager nur mit einem von ihnen, die willkürlich ausgewählt werden. Wenn Ihre Anwendung mehrere Videofenster verwendet, verwenden Sie daher die IVideoWindow -Schnittstelle direkt für die Filter. In diesem Fall müssen Sie Fensternachrichten mithilfe der IVideoWindow::NotifyOwnerMessage-Methode an jeden Video Renderer instance weiterleiten.

Um zu verhindern, dass das Videofenster während der Neubemalung flimmert, überschreiben Sie die Standardbehandlung für die WM_ERASEBKGND Meldung, und löschen Sie das Fenster nicht. (Für MFC-Anwendungen überschreiben Sie CWnd::OnEraseBkgnd mit einem leeren Handler.)

Eigenschaften, die für einen Videorenderer festgelegt werden, bleiben zwischen aufeinander folgenden Verbindungen und Trennungen erhalten.

Da diese Schnittstelle automationskompatibel ist, werden alle booleschen Werte als OAFALSE (0) und OATRUE (–1) definiert.

Fehlercodes: Wenn der Videorendererfilter nicht mit einem anderen Filter verbunden ist, geben alle Methoden den Fehlercode VFW_E_NOT_CONNECTED zurück. Wenn das Diagramm für die Implementierung des Filter Graph-Managers keinen Videorendererfilter enthält, geben alle Methoden E_NOINTERFACE zurück. Beachten Sie, dass der Filter Graph-Manager die Schnittstelle auch dann verfügbar macht, wenn der Graph keinen Videorenderer enthält, sodass eine Anwendung die Schnittstelle abfragen kann, bevor sie den Graph erstellt.

Filterentwickler: Sie können die CBaseVideoWindow-Klasse verwenden, um diese Schnittstelle zu implementieren.

Vererbung

Die IVideoWindow-Schnittstelle erbt von der IDispatch-Schnittstelle . IVideoWindow verfügt auch über folgende Arten von Membern:

Methoden

Die IVideoWindow-Schnittstelle verfügt über diese Methoden.

 
IVideoWindow::get_AutoShow

Die get_AutoShow-Methode fragt ab, ob der Videorenderer beim Empfangen von Videodaten automatisch das Videofenster anzeigt.
IVideoWindow::get_BackgroundPalette

Die get_BackgroundPalette-Methode fragt ab, ob das Videofenster seine Palette im Hintergrund realisiert.
IVideoWindow::get_BorderColor

Die get_BorderColor-Methode ruft die Farbe ab, die an den Rändern des Zielrechtecks angezeigt wird.
IVideoWindow::get_Caption

Die get_Caption-Methode ruft das videofenster Untertitel ab.
IVideoWindow::get_FullScreenMode

Die get_FullScreenMode-Methode fragt ab, ob sich der Videorenderer im Vollbildmodus befindet.
IVideoWindow::get_Height

Die get_Height-Methode ruft die Höhe des Videofensters ab.
IVideoWindow::get_Left

Die get_Left-Methode ruft die x-Achsenkoordinate des Videofensters ab.
IVideoWindow::get_MessageDrain

Die get_MessageDrain-Methode ruft das Fenster ab, das Maus- und Tastaturnachrichten aus dem Videofenster empfängt, sofern vorhanden.
IVideoWindow::get_Owner

Die get_Owner-Methode ruft ggf. das übergeordnete Fenster des Videofensters ab.
IVideoWindow::get_Top

Die get_Top-Methode ruft die y-Koordinate des Videofensters ab.
IVideoWindow::get_Visible

Die get_Visible-Methode fragt ab, ob das Videofenster sichtbar ist.
IVideoWindow::get_Width

Die get_Width-Methode ruft die Breite des Videofensters ab.
IVideoWindow::get_WindowState

Die get_WindowState-Methode fragt ab, ob das Videofenster sichtbar, ausgeblendet, minimiert oder maximiert ist.
IVideoWindow::get_WindowStyle

Die get_WindowStyle-Methode ruft die Fensterstile im Videofenster ab.
IVideoWindow::get_WindowStyleEx

Die get_WindowStyleEx-Methode ruft die erweiterten Fensterstile im Videofenster ab.
IVideoWindow::GetMaxIdealImageSize

Die GetMaxIdealImageSize-Methode ruft die maximale ideale Bildgröße für das Videobild ab.
IVideoWindow::GetMinIdealImageSize

Die GetMinIdealImageSize-Methode ruft die minimale ideale Größe für das Videobild ab.
IVideoWindow::GetRestorePosition

Die GetRestorePosition-Methode ruft die wiederhergestellte Fensterposition ab.
IVideoWindow::GetWindowPosition

Die GetWindowPosition-Methode ruft die Position des Videofensters ab.
IVideoWindow::HideCursor

Die HideCursor-Methode zeigt oder blendet den Cursor aus, wenn die Maus über dem Videofenster positioniert ist.
IVideoWindow::IsCursorHidden

Die IsCursorHidden-Methode fragt ab, ob der Cursor ausgeblendet ist.
IVideoWindow::NotifyOwnerMessage

Die NotifyOwnerMessage-Methode leitet eine Nachricht an das Videofenster weiter.
IVideoWindow::p ut_AutoShow

Die put_AutoShow-Methode gibt an, ob der Videorenderer das Videofenster automatisch anzeigt, wenn er Videodaten empfängt.
IVideoWindow::p ut_BackgroundPalette

Die put_BackgroundPalette-Methode gibt an, ob das Videofenster seine Palette im Hintergrund realisiert.
IVideoWindow::p ut_BorderColor

Die put_BorderColor-Methode legt die Farbe fest, die an den Rändern des Zielrechtecks angezeigt wird.
IVideoWindow::p ut_Caption

Die put_Caption-Methode legt das Videofenster Untertitel fest.
IVideoWindow::p ut_FullScreenMode

Die put_FullScreenMode-Methode aktiviert oder deaktiviert das Rendern von Vollbildvideos.
IVideoWindow::p ut_Height

Die put_Height-Methode legt die Höhe des Videofensters fest.
IVideoWindow::p ut_Left

Die put_Left-Methode legt die x-Koordinate des Videofensters fest.
IVideoWindow::p ut_MessageDrain

Die put_MessageDrain-Methode gibt ein Fenster an, in dem Maus- und Tastaturnachrichten aus dem Videofenster empfangen werden sollen.
IVideoWindow::p ut_Owner

Die put_Owner-Methode gibt ein übergeordnetes Fenster für das Videofenster an.
IVideoWindow::p ut_Top

Die put_Top-Methode gibt die y-Koordinate des Videofensters an.
IVideoWindow::p ut_Visible

Die put_Visible-Methode zeigt das Videofenster an oder blendet es aus.
IVideoWindow::p ut_Width

Die put_Width-Methode gibt die Breite des Videofensters an.
IVideoWindow::p ut_WindowState

Mit der put_WindowState-Methode wird das Videofenster angezeigt, ausgeblendet, minimiert oder maximiert.
IVideoWindow::p ut_WindowStyle

Die put_WindowStyle-Methode legt die Fensterstile im Videofenster fest.
IVideoWindow::p ut_WindowStyleEx

Die put_WindowStyleEx-Methode legt die erweiterten Fensterstile im Videofenster fest.
IVideoWindow::SetWindowForeground

Die SetWindowForeground-Methode platziert das Videofenster oben in der Z-Reihenfolge.
IVideoWindow::SetWindowPosition

Die SetWindowPosition-Methode legt die Position des Videofensters fest.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile control.h (include Dshow.h)

Weitere Informationen

IDispatch