Metodo IDCompositionDevice2::CreateVirtualSurface (dcomp.h)
Crea una superficie popolata di tipo sparse che può essere associata a uno o più oggetti visivi per la composizione.
Sintassi
HRESULT CreateVirtualSurface(
[in] UINT initialWidth,
[in] UINT initialHeight,
[in] DXGI_FORMAT pixelFormat,
[in] DXGI_ALPHA_MODE alphaMode,
[out] IDCompositionVirtualSurface **virtualSurface
);
Parametri
[in] initialWidth
Tipo: UINT
Larghezza della superficie, in pixel. La larghezza massima è 16.777.216 pixel.
[in] initialHeight
Tipo: UINT
Altezza della superficie, in pixel. L'altezza massima è 16.777.216 pixel.
[in] pixelFormat
Tipo: DXGI_FORMAT
Formato pixel della superficie.
[in] alphaMode
Tipo: DXGI_ALPHA_MODE
Significato del canale alfa, se il formato pixel contiene un canale alfa. Può essere uno dei valori seguenti:
[out] virtualSurface
Tipo: IDCompositionVirtualSurface**
Oggetto superficie appena creato. Questo parametro non deve essere NULL.
Valore restituito
Tipo: HRESULT
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 superficie di tipo sparse Microsoft DirectComposition è un oggetto logico che si comporta come una matrice rettangolare di pixel che può essere associata a un oggetto visivo per la composizione. La superficie non è necessariamente supportata da alcun video fisico o memoria di sistema per ogni pixel. L'applicazione può realizzare o virtualizzare parti della superficie logica in momenti diversi.
Un oggetto superficie appena creato si trova in uno stato non inizializzato. Sebbene non sia inizializzata, la superficie non ha alcun effetto sulla composizione dell'albero visivo. Si comporta esattamente come una superficie inizializzata con pixel trasparenti al 100%.
Per inizializzare la superficie con i dati pixel, usare i metodi IDCompositionSurface::BeginDraw e IDCompositionSurface::EndDraw . Questo metodo non solo fornisce pixel per la superficie, ma alloca anche lo spazio di archiviazione effettivo per tali pixel. L'allocazione di memoria viene mantenuta fino a quando l'applicazione non restituisce una parte della memoria al sistema. L'applicazione può liberare parte o tutta la memoria allocata chiamando il metodo IDCompositionVirtualSurface::Trim .
Le superfici DirectComposition supportano i formati pixel seguenti:
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R16G16B16A16_FLOAT
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 |