Freigeben über


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

Weitere Informationen

IDCompositionDevice2

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface