IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle-Methode (dxgi1_3.h)
Erstellt eine YUV-Swapkette für einen vorhandenen DirectComposition-Oberflächenhandle . Die Swap chain wird mit bereits vorhandenen Puffern erstellt, und es sind nur sehr wenige beschreibende Elemente erforderlich. Stattdessen erfordert diese Methode ein DirectComposition-Oberflächenhandle und einen IDXGIResource-Puffer , um decodierte Framedaten zu enthalten. Das Swap chain-Format wird durch das Format der Unterressourcen der IDXGIResource bestimmt.
Syntax
HRESULT CreateDecodeSwapChainForCompositionSurfaceHandle(
[in] IUnknown *pDevice,
[in, optional] HANDLE hSurface,
[in] DXGI_DECODE_SWAP_CHAIN_DESC *pDesc,
[in] IDXGIResource *pYuvDecodeBuffers,
[in, optional] IDXGIOutput *pRestrictToOutput,
[out] IDXGIDecodeSwapChain **ppSwapChain
);
Parameter
[in] pDevice
Ein Zeiger auf das Direct3D-Gerät für die Swapchain. Dieser Parameter darf nicht NULL sein. Softwaretreiber wie D3D_DRIVER_TYPE_REFERENCE werden für Kompositionstauschketten nicht unterstützt.
[in, optional] hSurface
Ein Handle für eine vorhandene DirectComposition-Oberfläche . Dieser Parameter darf nicht NULL sein.
[in] pDesc
Ein Zeiger auf eine DXGI_DECODE_SWAP_CHAIN_DESC-Struktur für die Swap-Chain-Beschreibung. Dieser Parameter darf nicht NULL sein.
[in] pYuvDecodeBuffers
Ein Zeiger auf eine IDXGIResource-Schnittstelle , die die Ressource darstellt, die die Informationen enthält, die CreateDecodeSwapChainForCompositionSurfaceHandle decodiert.
[in, optional] pRestrictToOutput
Ein Zeiger auf die IDXGIOutput-Schnittstelle für die Swapchain, auf die Inhalte beschränkt werden sollen. Wenn die Swapchain in eine andere Ausgabe verschoben wird, ist der Inhalt schwarz. Optional können Sie diesen Parameter auf ein Ausgabeziel festlegen, das DXGI_PRESENT_RESTRICT_TO_OUTPUT verwendet, um den Inhalt dieser Ausgabe einzuschränken. Wenn die Swapchain in eine andere Ausgabe verschoben wird, ist der Inhalt schwarz.
Sie müssen auch das DXGI_PRESENT_RESTRICT_TO_OUTPUT-Flag in einem aktuellen Aufruf übergeben, um zu erzwingen, dass der Inhalt in jeder anderen Ausgabe schwarz 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 IDXGIDecodeSwapChain-Schnittstelle für die swap chain empfängt, die diese Methode erstellt.
Rückgabewert
CreateDecodeSwapChainForCompositionSurfaceHandle 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, pYuvDecodeBuffers oder ppSwapChainNULL ist.
- Möglicherweise andere Fehlercodes, die im DXGI_ERROR Thema beschrieben werden, die durch den Gerätetyp definiert sind, den Sie an pDevice übergeben.
Hinweise
Die IDXGIResource , die über den pYuvDecodeBuffers-Parameter bereitgestellt wird, muss auf mindestens eine Unterressource verweisen, und alle Unterressourcen müssen mit dem flag D3D11_BIND_DECODER erstellt werden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8.1 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dxgi1_3.h |
Bibliothek | Dxgi.lib |