IDCompositionDevice::CreateSurface method (dcomp.h)
Creates an updateable surface object that can be associated with one or more visuals for composition.
Syntax
HRESULT CreateSurface(
[in] UINT width,
[in] UINT height,
[in] DXGI_FORMAT pixelFormat,
[in] DXGI_ALPHA_MODE alphaMode,
[out] IDCompositionSurface **surface
);
Parameters
[in] width
Type: UINT
The width of the surface, in pixels.
[in] height
Type: UINT
The height of the surface, in pixels.
[in] pixelFormat
Type: DXGI_FORMAT
The pixel format of the surface.
[in] alphaMode
Type: DXGI_ALPHA_MODE
The format of the alpha channel, if an alpha channel is included in the pixel format. It can be one of the following values:
Value | Meaning |
---|---|
DXGI_ALPHA_MODE_UNSPECIFIED | The alpha channel isn't specified. This value has the same effect as DXGI_ALPHA_MODE_IGNORE. |
DXGI_ALPHA_MODE_PREMULTIPLIED | The color channels contain values that are premultiplied with the alpha channel. |
DXGI_ALPHA_MODE_IGNORE | The alpha channel should be ignored, and the bitmap should be rendered opaquely. |
[out] surface
Type: IDCompositionSurface**
The newly created surface object. This parameter must not be NULL.
Return value
Type: HRESULT
If the function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. See DirectComposition Error Codes for a list of error codes.
Remarks
A Microsoft DirectComposition surface is a rectangular array of pixels that can be associated with a visual for composition.
A newly created surface object is in an uninitialized state. While it is uninitialized, the surface has no effect on the composition of the visual tree. It behaves exactly like a surface that has 100% transparent pixels.
To initialize the surface with pixel data, use the IDCompositionSurface::BeginDraw method. The first call to this method must cover the entire surface area to provide an initial value for every pixel. Subsequent calls may specify smaller sub-rectangles of the surface to update.
DirectComposition surfaces support the following pixel formats:
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R16G16B16A16_FLOAT
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps only] |
Minimum supported server | Windows Server 2012 [desktop apps only] |
Target Platform | Windows |
Header | dcomp.h |
Library | Dcomp.lib |
DLL | Dcomp.dll |