Método IDCompositionDevice2::CreateVirtualSurface (dcomp.h)
Cria uma superfície pouco populada que pode ser associada a um ou mais visuais para composição.
Sintaxe
HRESULT CreateVirtualSurface(
[in] UINT initialWidth,
[in] UINT initialHeight,
[in] DXGI_FORMAT pixelFormat,
[in] DXGI_ALPHA_MODE alphaMode,
[out] IDCompositionVirtualSurface **virtualSurface
);
Parâmetros
[in] initialWidth
Tipo: UINT
A largura da superfície, em pixels. A largura máxima é de 16.777.216 pixels.
[in] initialHeight
Tipo: UINT
A altura da superfície, em pixels. A altura máxima é de 16.777.216 pixels.
[in] pixelFormat
Tipo: DXGI_FORMAT
O formato de pixel da superfície.
[in] alphaMode
Tipo: DXGI_ALPHA_MODE
O significado do canal alfa, se o formato de pixel contiver um canal alfa. Pode ser um dos seguintes valores:
[out] virtualSurface
Tipo: IDCompositionVirtualSurface**
O objeto surface recém-criado. Esse parâmetro não deve ser NULL.
Retornar valor
Tipo: HRESULT
Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Consulte Códigos de Erro do DirectComposition para obter uma lista de códigos de erro.
Comentários
Uma superfície esparsa do Microsoft DirectComposition é um objeto lógico que se comporta como uma matriz retangular de pixels que pode ser associada a um visual para composição. A superfície não é necessariamente apoiada por qualquer vídeo físico ou memória do sistema para cada um de seus pixels. O aplicativo pode perceber ou virtualizar partes da superfície lógica em momentos diferentes.
Um objeto surface recém-criado está em um estado não inicializado. Embora não seja inicializada, a superfície não tem efeito na composição da árvore visual. Ele se comporta exatamente como uma superfície inicializada com pixels 100% transparentes.
Para inicializar a superfície com dados de pixel, use os métodos IDCompositionSurface::BeginDraw e IDCompositionSurface::EndDraw . Esse método não só fornece pixels para a superfície, mas também aloca espaço de armazenamento real para esses pixels. A alocação de memória persiste até que o aplicativo retorne parte da memória para o sistema. O aplicativo pode liberar parte ou toda a memória alocada chamando o método IDCompositionVirtualSurface::Trim .
As superfícies DirectComposition dão suporte aos seguintes formatos de pixel:
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R16G16B16A16_FLOAT
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8.1 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dcomp.h |
Biblioteca | Dcomp.lib |
DLL | Dcomp.dll |