Freigeben über


IDXGIFactory2::CreateSwapChainForHwnd-Methode (dxgi1_2.h)

Erstellt eine Swapchain, die einem HWND-Handle dem Ausgabefenster für die Swapchain zugeordnet ist.

Syntax

HRESULT CreateSwapChainForHwnd(
  [in]           IUnknown                              *pDevice,
  [in]           HWND                                  hWnd,
  [in]           const DXGI_SWAP_CHAIN_DESC1           *pDesc,
  [in, optional] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,
  [in, optional] IDXGIOutput                           *pRestrictToOutput,
  [out]          IDXGISwapChain1                       **ppSwapChain
);

Parameter

[in] pDevice

Für Direct3D 11 und frühere Versionen von Direct3D ist dies ein Zeiger auf das Direct3D-Gerät für die Swapchain. Für Direct3D 12 ist dies ein Zeiger auf eine direkte Befehlswarteschlange (siehe ID3D12CommandQueue). Dieser Parameter darf nicht NULL sein.

[in] hWnd

Das HWND-Handle , das der Von CreateSwapChainForHwnd erstellten Swapchain-Kette zugeordnet ist. Dieser Parameter darf nicht NULL sein.

[in] pDesc

Ein Zeiger auf eine DXGI_SWAP_CHAIN_DESC1-Struktur für die Swap-Chain-Beschreibung. Dieser Parameter darf nicht NULL sein.

[in, optional] pFullscreenDesc

Ein Zeiger auf eine DXGI_SWAP_CHAIN_FULLSCREEN_DESC-Struktur für die Beschreibung einer Vollbild-Swapchain. Sie können diesen Parameter optional so festlegen, dass eine Vollbild-Swapchain erstellt wird. Legen Sie sie auf NULL fest, um eine Swap chain mit Fenstern zu erstellen.

[in, optional] pRestrictToOutput

Ein Zeiger auf die IDXGIOutput-Schnittstelle für die Ausgabe, auf die Inhalte beschränkt werden sollen. Sie müssen auch das DXGI_PRESENT_RESTRICT_TO_OUTPUT-Flag in einem IDXGISwapChain1::P resent1-Aufruf übergeben, um zu erzwingen, dass der Inhalt in jeder anderen Ausgabe verdunkelt angezeigt wird. Wenn Sie den Inhalt auf eine andere Ausgabe beschränken möchten, müssen Sie eine neue Swapchain erstellen. Sie können Inhalte jedoch bedingt einschränken, basierend auf dem DXGI_PRESENT_RESTRICT_TO_OUTPUT-Flag .

Legen Sie diesen Parameter auf NULL fest, wenn Sie Den Inhalt nicht auf ein Ausgabeziel beschränken möchten.

[out] ppSwapChain

Ein Zeiger auf eine Variable, die einen Zeiger auf die IDXGISwapChain1-Schnittstelle für die Von CreateSwapChainForHwnd erstellte Swap chain empfängt.

Rückgabewert

CreateSwapChainForHwnd gibt Folgendes zurück:

  • S_OK, wenn eine Swapchain erfolgreich erstellt wurde.
  • E_OUTOFMEMORY, wenn arbeitsspeicher nicht verfügbar ist, um den Vorgang abzuschließen.
  • DXGI_ERROR_INVALID_CALL , wenn die aufrufende Anwendung ungültige Daten bereitgestellt hat, z. B. wenn pDesc oder ppSwapChainNULL ist oder pDesc-Datenmember ungültig sind.
  • Möglicherweise andere Fehlercodes, die im DXGI_ERROR Thema beschrieben werden, die durch den Gerätetyp definiert sind, den Sie an pDevice übergeben.

Plattformupdate für Windows 7: DXGI_SCALING_NONE wird unter Windows 7 oder Windows Server 2008 R2 mit installiertem Plattformupdate für Windows 7 nicht unterstützt und bewirkt , dass CreateSwapChainForHwnd bei Aufruf DXGI_ERROR_INVALID_CALL zurückgibt. Weitere Informationen zum Plattformupdate für Windows 7 finden Sie unter Plattformupdate für Windows 7.

Hinweise

Hinweis Verwenden Sie diese Methode nicht in Windows Store-Apps. Verwenden Sie stattdessen IDXGIFactory2::CreateSwapChainForCoreWindow.
 
Wenn Sie die Breite, Höhe oder beides (Width - und Height-Member von DXGI_SWAP_CHAIN_DESC1 , auf die pDesc verweist) der Swapchain als Null angeben, ruft die Laufzeit die Größe aus dem Ausgabefenster ab, das der hWnd-Parameter angibt.

Anschließend können Sie die IDXGISwapChain1::GetDesc1-Methode aufrufen, um den zugewiesenen Breiten- oder Höhenwert abzurufen.

Da Sie einem HWND jeweils nur eine Wechselkette des Flip-Präsentationsmodells zuordnen können, kann die Microsoft Direct3D 11-Richtlinie zum Verzögern der Zerstörung von Objekten Probleme verursachen, wenn Sie versuchen, eine Wechselkette des Flip-Präsentationsmodells zu zerstören und durch eine andere Swap chain zu ersetzen. Weitere Informationen zu dieser Situation finden Sie unter Verzögerte Zerstörungsprobleme mit Flip Presentation Swap Chains.

Informationen zum Auswählen eines Formats für den Backpuffer der Swapchain finden Sie unter Konvertieren von Daten für den Farbraum.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile dxgi1_2.h
Bibliothek Dxgi.lib

Weitere Informationen

Verwenden Sie das DXGI-Flipmodell, um eine optimale Leistung zu erzielen.

IDXGIFactory2