IDCompositionDevice::CreateSurface method
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
- width [in]
-
Type: UINT
The width of the surface, in pixels.
- height [in]
-
Type: UINT
The height of the surface, in pixels.
- pixelFormat [in]
-
Type: DXGI_FORMAT
The pixel format of the surface.
- alphaMode [in]
-
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:
- surface [out]
-
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
|
Minimum supported client |
Windows 8 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2012 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also