Condividi tramite


Metodo IDCompositionDevice2::CreateSurfaceFactory (dcomp.h)

Crea un oggetto surface factory Microsoft DirectComposition, che può essere usato per creare altre superfici DirectComposition o oggetti superficie virtuale

Sintassi

HRESULT CreateSurfaceFactory(
  [in]  IUnknown                    *renderingDevice,
  [out] IDCompositionSurfaceFactory **surfaceFactory
);

Parametri

[in] renderingDevice

Puntatore a un dispositivo DirectX da usare per creare oggetti superficie DirectComposition. Deve essere un puntatore a un oggetto che implementa le interfacce IDXGIDevice o ID2D1Device . Questo parametro non deve essere NULL.

[out] surfaceFactory

Oggetto surface factory appena creato. Questo parametro non deve essere NULL.

Valore restituito

Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT . Per un elenco di codici di errore, vedere Codici di errore DirectComposition .

Commenti

Una surface factory consente a un'applicazione di usare simultaneamente più di un singolo dispositivo DXGI o Direct2D con DirectComposition. Ogni surface factory ha un'associazione permanente con un dispositivo DXGI o Direct2D, ma un dispositivo DirectComposition può avere qualsiasi numero di factory di superficie.

Ogni surface factory gestisce le risorse in modo indipendente dagli altri. In particolare, le allocazioni di superficie dei pool DirectComposition per mitigare i costi di allocazione e deallocazione della superficie. Questo pool viene eseguito in base alla fabbrica per superficie.

Se la funzione DCompositionCreateDevice2 viene chiamata con un parametro non NULL renderingDevice , l'oggetto dispositivo DirectComposition restituito ha una factory di superficie implicita nelle copertine associate al dispositivo di rendering specificato. Questa factory di superficie implicita viene usata per il servizio dei metodi IDCompositionDevice::CreateSurface, IDCompositionDevice::CreateVirtualSurface, IDCompositionDevice2::CreateSurface e IDCompositionDevice2::CreateVirtualSurface.

Un oggetto surface rimane attivo fino a quando una o più superfici virtuali create rimangono attive, direttamente perché l'applicazione contiene un riferimento diretto o indirettamente perché una o più superfici sono associate a uno o più oggetti visivi.

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1 [solo app desktop]
Server minimo supportato Windows Server 2012 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dcomp.h
Libreria Dcomp.lib
DLL Dcomp.dll

Vedi anche

IDCompositionDevice2

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface