IDCompositionDevice2::CreateSurfaceFactory-Methode (dcomp.h)
Erstellt ein Microsoft DirectComposition Surface Factory-Objekt, das zum Erstellen anderer DirectComposition-Oberflächenobjekte oder virtueller Oberflächenobjekte verwendet werden kann.
Syntax
HRESULT CreateSurfaceFactory(
[in] IUnknown *renderingDevice,
[out] IDCompositionSurfaceFactory **surfaceFactory
);
Parameter
[in] renderingDevice
Ein Zeiger auf ein DirectX-Gerät, das zum Erstellen von DirectComposition-Oberflächenobjekten verwendet werden soll. Muss ein Zeiger auf ein Objekt sein, das die Schnittstellen IDXGIDevice oder ID2D1Device implementiert. Dieser Parameter darf nicht NULL sein.
[out] surfaceFactory
Das neu erstellte Surface Factory-Objekt. Dieser Parameter darf nicht NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben. Eine Liste der Fehlercodes finden Sie unter DirectComposition-Fehlercodes .
Hinweise
Eine Surface Factory ermöglicht es einer Anwendung, mehr als ein einziges DXGI- oder Direct2D-Gerät gleichzeitig mit DirectComposition zu verwenden. Jede Surface Factory hat eine dauerhafte Zuordnung zu einem DXGI- oder Direct2D-Gerät, aber ein DirectComposition-Gerät kann eine beliebige Anzahl von Surface-Fabriken aufweisen.
Jede Surface Factory verwaltet Ressourcen unabhängig von den anderen. Insbesondere poolt DirectComposition Oberflächenzuordnungen, um die Kosten für die Flächenzuordnung und Die Zuordnung zu verringern. Dieser Pool erfolgt auf basis der Fabrik pro Oberfläche.
Wenn die DCompositionCreateDevice2-Funktion mit einem Nicht-NULL-RenderingDevice-Parameter aufgerufen wird, verfügt das zurückgegebene DirectComposition-Geräteobjekt über eine implizite Surface Factory unter den Abdeckungen, die dem angegebenen Renderinggerät zugeordnet sind. Diese implizite Surface Factory wird verwendet, um die Methoden IDCompositionDevice::CreateSurface, IDCompositionDevice::CreateVirtualSurface, IDCompositionDevice2::CreateSurface und IDCompositionDevice2::CreateVirtualSurface zu verwalten.
Ein Oberflächenobjekt bleibt am Leben, solange eine der von ihr erstellten Oberflächen oder virtuellen Oberflächen am Leben bleibt, entweder direkt, weil die Anwendung einen direkten Verweis enthält, oder indirekt, weil mindestens eine solche Oberfläche einem oder mehreren visuellen Objekten zugeordnet ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8.1 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dcomp.h |
Bibliothek | Dcomp.lib |
DLL | Dcomp.dll |