Compartilhar via


Método IDCompositionSurfaceFactory::CreateVirtualSurface (dcomp.h)

Cria uma superfície pouco preenchida 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

A largura da superfície, em pixels. A largura máxima é de 16.777.216 pixels.

[in] initialHeight

A altura da superfície, em pixels. A altura máxima é de 16.777.216 pixels.

[in] pixelFormat

O formato de pixel da superfície.

[in] alphaMode

O formato do canal alfa, se um canal alfa estiver incluído no formato de pixel. Esse pode ser um dos DXGI_ALPHA_MODE_PREMULTIPLIED ou DXGI_ALPHA_MODE_IGNORE. Ele também pode ser DXGI_ALPHA_MODE_UNSPECIFIED, que é interpretado como DXGI_ALPHA_MODE_IGNORE.

[out] virtualSurface

O objeto de superfície virtual recém-criado. Esse parâmetro não deve ser NULL.

Retornar valor

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Confira Códigos de erro do DirectComposition para obter uma lista de códigos de erro.

Comentários

Um objeto de superfície virtual recém-criado está em um estado não inicializado. Embora não seja inicializada, a superfície não tem efeito sobre a 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 o método IDCompositionSurface::BeginDraw . 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 ou IDCompositionVirtualSurface::Resize .

As superfícies do Microsoft 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

Confira também

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory::CreateVirtualSurface