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