IDXGISwapChain::SetFullscreenState-Methode (dxgi.h)

Legt den Anzeigezustand auf Fenster oder Vollbild fest.

Syntax

HRESULT SetFullscreenState(
  BOOL        Fullscreen,
  IDXGIOutput *pTarget
);

Parameter

Fullscreen

Typ: BOOL

Ein boolescher Wert, der angibt, ob der Anzeigezustand auf Fenster oder Vollbild festgelegt werden soll. TRUE für den Vollbildmodus und FALSE für Fenster.

pTarget

Typ: [in, optional] IDXGIOutput*

Wenn Sie TRUE an den Vollbildparameter übergeben, um den Anzeigezustand auf Vollbildmodus festzulegen, können Sie diesen Parameter optional auf einen Zeiger auf eine IDXGIOutput-Schnittstelle für das Ausgabeziel festlegen, das die Swapchain enthält. Wenn Sie diesen Parameter auf NULL festlegen, wählt DXGI die Ausgabe basierend auf dem Gerät der Swapchain und der Platzierung des Ausgabefensters aus. Wenn Sie FALSE an den Vollbildmodus übergeben, müssen Sie diesen Parameter auf NULL festlegen.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen dieser Werte zurück.

  • S_OK , wenn die Aktion erfolgreich war und die Swapchain in den angeforderten Zustand versetzt wurde.
  • DXGI_ERROR_NOT_CURRENTLY_AVAILABLE , wenn die Aktion fehlgeschlagen ist. Wenn dieser Fehler zurückgegeben wird, kann Ihre Anwendung weiterhin im Fenstermodus ausgeführt werden und später versuchen, in den Vollbildmodus zu wechseln. Es gibt viele Gründe, warum eine Swapchain im Fenstermodus nicht in den Vollbildmodus wechseln kann. Hier sehen Sie einige Beispiele:
    • Die Anwendung wird über den Terminalserver ausgeführt.
    • Das Ausgabefenster ist verdeckt.
    • Das Ausgabefenster verfügt nicht über den Tastaturfokus.
    • Eine andere Anwendung befindet sich bereits im Vollbildmodus.
  • DXGI_STATUS_MODE_CHANGE_IN_PROGRESS wird zurückgegeben, wenn beim Aufrufen dieser API ein Übergang im Vollbild-/Fenstermodus erfolgt.
  • Andere Fehlercodes, wenn der Arbeitsspeicher nicht mehr vorhanden ist oder ein anderer unerwarteter Fehler auftritt; diese Codes können als harte, nicht fortlaufende Fehler behandelt werden.

Hinweise

DXGI kann den Anzeigestatus einer Swapchain als Reaktion auf Endbenutzer- oder Systemanforderungen ändern.

Es wird empfohlen, eine Swapchain mit Fenstern zu erstellen und es dem Endbenutzer zu ermöglichen, die Swapchain über SetFullscreenState in Vollbildmodus zu ändern. Das heißt, legen Sie den Windowed-Member von DXGI_SWAP_CHAIN_DESC nicht auf FALSE fest, um die Swapchain als Vollbild zu erzwingen. Wenn Sie die Swapchain jedoch als Vollbild erstellen, stellen Sie dem Endbenutzer auch eine Liste der unterstützten Anzeigemodi bereit, da eine Swapchain, die mit einem nicht unterstützten Anzeigemodus erstellt wird, dazu führen kann, dass die Anzeige schwarz wird und der Endbenutzer keine Anzeige mehr sieht. Außerdem wird empfohlen, einen Timeout-Bestätigungsbildschirm oder einen anderen Fallbackmechanismus zu verwenden, wenn Sie dem Endbenutzer das Ändern der Anzeigemodi gestatten.

Hinweise für Windows Store-Apps

Wenn eine Windows Store-App SetFullscreenState aufruft, um den Anzeigezustand auf Vollbildmodus festzulegen, schlägt SetFullscreenState mit DXGI_ERROR_NOT_CURRENTLY_AVAILABLE fehl.

Sie können SetFullscreenState nicht für eine Swapchain aufrufen, die Sie mit IDXGIFactory2::CreateSwapChainForComposition erstellt haben.

Beim Flip-Präsentationsmodell müssen Sie nach dem Übergang des Anzeigezustands in den Vollbildmodus ResizeBuffers aufrufen, um sicherzustellen, dass ihr Aufruf von IDXGISwapChain1::P resent1 erfolgreich ist.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile dxgi.h
Bibliothek DXGI.lib

Weitere Informationen

IDXGISwapChain