Método IDCompositionDevice2::CreateVirtualSurface (dcomp.h)
Crea una superficie dispersamente rellenada 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
Tipo: UINT
Ancho de la superficie, en píxeles. El ancho máximo es de 16 777 216 píxeles.
[in] initialHeight
Tipo: UINT
Alto de la superficie, en píxeles. El alto máximo es de 16 777 216 píxeles.
[in] pixelFormat
Tipo: DXGI_FORMAT
Formato de píxel de la superficie.
[in] alphaMode
Tipo: DXGI_ALPHA_MODE
Significado del canal alfa, si el formato de píxel contiene un canal alfa. Puede ser uno de los siguientes valores:
[out] virtualSurface
Tipo: IDCompositionVirtualSurface**
Objeto de superficie recién creado. Este parámetro no debe ser null.
Valor devuelto
Tipo: HRESULT
Si la función se realiza 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
Una superficie dispersa de Microsoft DirectComposition es un objeto lógico que se comporta como una matriz rectangular de píxeles que se puede asociar a un objeto visual para la composición. La superficie no está necesariamente respaldada por ningún vídeo físico o memoria del sistema para cada uno de sus píxeles. La aplicación puede darse cuenta o virtualizar partes de la superficie lógica en momentos diferentes.
Un objeto de superficie recién creado está en un estado no inicializado. Aunque no está inicializado, la superficie no tiene ningún efecto en la composición del árbol visual. Se comporta exactamente como una superficie que se inicializa con un 100 % de píxeles transparentes.
Para inicializar la superficie con datos de píxeles, use los métodos IDCompositionSurface::BeginDraw e IDCompositionSurface::EndDraw . 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 .
Las superficies 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 |