Creating the Primary Surface
The primary surface is the surface currently visible on the monitor and is identified by the DDSCAPS_PRIMARYSURFACE flag. You can only have one primary surface for each DirectDraw object.
When you create a primary surface, remember that the dimensions and pixel format implicitly match the current display mode. Therefore, this is the one time you do not need to declare a surface's dimensions or pixel format. If you do specify them, the call will fail and return DDERR_INVALIDPARAMS — even if the information you used matches the current display mode.
The following example shows how to prepare the DDSURFACEDESC2 structure members relevant for creating the primary surface.
DDSURFACEDESC2 ddsd;
ddsd.dwSize = sizeof(ddsd);
// Tell DirectDraw which members are valid.
ddsd.dwFlags = DDSD_CAPS;
// Request a primary surface.
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
After creating the primary surface, you can retrieve information about its dimensions and pixel format by calling its IDirectDrawSurface5::GetSurfaceDesc method.
See Also
Last updated on Thursday, April 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.