Compartir a través de


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

Crea una superficie rellenada dispersamente que se puede asociar a uno o varios objetos visuales para la composición.

Sintaxis

HRESULT CreateVirtualSurface(
  [in]  UINT                        initialWidth,
  [in]  UINT                        initialHeight,
  [in]  DXGI_FORMAT                 pixelFormat,
  [in]  DXGI_ALPHA_MODE             alphaMode,
  [out] IDCompositionVirtualSurface **virtualSurface
);

Parámetros

[in] initialWidth

Ancho de la superficie, en píxeles. El ancho máximo es de 16 777 216 píxeles.

[in] initialHeight

Alto de la superficie, en píxeles. El alto máximo es de 16 777 216 píxeles.

[in] pixelFormat

Formato de píxel de la superficie.

[in] alphaMode

Formato del canal alfa, si se incluye un canal alfa en formato de píxel. Puede ser una de DXGI_ALPHA_MODE_PREMULTIPLIED o DXGI_ALPHA_MODE_IGNORE. También puede ser DXGI_ALPHA_MODE_UNSPECIFIED, que se interpreta como DXGI_ALPHA_MODE_IGNORE.

[out] virtualSurface

Objeto de superficie virtual recién creado. Este parámetro no debe ser null.

Valor devuelto

Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT. Consulte Códigos de error de DirectComposition para obtener una lista de códigos de error.

Comentarios

Un objeto de superficie virtual recién creado está en un estado no inicializado. Aunque no se inicializa, la superficie no tiene ningún efecto en la composición del árbol visual. Se comporta exactamente como una superficie que se inicializa con píxeles transparentes del 100 %.

Para inicializar la superficie con datos de píxeles, use el método IDCompositionSurface::BeginDraw . Este método no solo proporciona píxeles para la superficie, sino que también asigna espacio de almacenamiento real para esos píxeles. La asignación de memoria persiste hasta que la aplicación devuelve parte de la memoria al sistema. La aplicación puede liberar parte o toda la memoria asignada llamando al método IDCompositionVirtualSurface::Trim o IDCompositionVirtualSurface::Resize .

Las superficies de Microsoft DirectComposition admiten los siguientes formatos de píxeles:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dcomp.h
Library Dcomp.lib
Archivo DLL Dcomp.dll

Consulte también

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory::CreateVirtualSurface