IVideoWindow::p ut_FullScreenMode-Methode (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 put_FullScreenMode -Methode aktiviert oder deaktiviert das Rendern von Vollbildvideos.

Syntax

HRESULT put_FullScreenMode(
  [in] long FullScreenMode
);

Parameter

[in] FullScreenMode

Boolescher Wert, der angibt, ob der Vollbildmodus aktiviert oder deaktiviert werden soll. Dies muss einer der folgenden Werte sein:

Wert Beschreibung
OATRUE Wechseln Sie in den Vollbildmodus.
OAFALSE Deaktivieren Sie den Vollbildmodus. (Standardeinstellung)

Rückgabewert

Folgende Rückgabewerte sind möglich:

Rückgabecode Beschreibung
E_NOTIMPL
Der Filter unterstützt den Vollbildmodus nicht.
S_FALSE
Bereits im angeforderten Modus.
S_OK
Erfolg.
VFW_E_NO_FULLSCREEN
Es konnte kein Filter gefunden werden, der den Vollbildmodus unterstützt.

Bemerkungen

Je nach Videorenderer ist der Wechsel in den Vollbildmodus möglicherweise erst sichtbar, wenn die Anwendung ausgeführt oder das Diagramm anhält. Wenn der Benutzer im Vollbildmodus von der Anwendung wechselt (z. B. alt + TAB), sendet der Graph-Filter-Manager ein EC_FULLSCREEN_LOST-Ereignis .

In den folgenden Anmerkungen wird beschrieben, wie der Filter Graph-Manager den Vollbildmodus implementiert. Anwendungsentwickler können diese Informationen wahrscheinlich ignorieren, aber es kann nützlich sein, wenn Sie einen benutzerdefinierten Videorenderer schreiben.

Wenn eine Anwendung in den Vollbildmodus wechselt, sucht der Graphfilter-Manager nach einem Videorenderer, der am effizientesten funktioniert. In der Reihenfolge der Präferenz sind dies:

  1. Ein Beliebiger Videorenderer im Filterdiagramm, der den Vollbildmodus nativ unterstützt.
  2. Jeder Videorenderer im Filterdiagramm, der das Video ohne erhebliche Leistungskosten auf den Vollbildmodus ausdehnen kann.
  3. Der Filter "Vollbildrenderer ".
  4. Ein beliebiger Videorenderer im Filterdiagramm, der IVideoWindow unterstützt.
Für die erste Option ruft der Graphfilter-Manager IVideoWindow::get_FullScreenMode für jeden Videorenderer im Diagramm auf. Die meisten Renderer geben E_NOTIMPL zurück, was darauf hinweist, dass der Filter den Vollbildmodus nicht nativ unterstützt. Wenn ein Renderer einen Wert zurückgibt, der nicht gleich E_NOTIMPL ist, verwendet der Graphfilter-Manager diesen Wert.

Für die zweite Option ruft der Filter Graph-Manager IVideoWindow::GetMaxIdealImageSize und GetMinIdealImageSize für jeden Videorenderer im Graphen auf. Wenn die Größe der Anzeige in den gemeldeten Bereich des Filters fällt, gibt dies an, dass der Filter das Video ohne erhebliche Leistungskosten strecken kann.

Hinweis Wenn das Diagramm beendet wird, hält der Filter Graph-Manager jeden Renderer an, bevor diese Methoden aufgerufen werden. Dies gibt dem Renderer die Möglichkeit, alle benötigten Ressourcen zu initialisieren, da viele Renderer diese Werte nicht ermitteln können, während sie angehalten werden.
 
Mit Ausnahme von älterer Hardware ist die zweite Option in der Regel erfolgreich. Die dritte Option besteht darin, den Filter "Vollbildrenderer" zu verwenden und ihn ggf. dem Graphen hinzuzufügen. Die vierte Option besteht darin, einfach den ersten Renderer im Graphen zu finden, der IVideoWindow unterstützt, und das Video unabhängig von der Leistung zu strecken.

Anforderungen

   
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)
Bibliothek Strmiids.lib

Siehe auch

Fehler- und Erfolgscodes

IVideoWindow-Schnittstelle

IVideoWindow::get_FullScreenMode