IDirectDraw::CreateSurface (Windows Embedded CE 6.0)
1/6/2010
This method creates a DirectDrawSurface object for this DirectDraw object.
Syntax
HRESULT CreateSurface(
LPDDSURFACEDESC lpDDSurfaceDesc,
LPDIRECTDRAWSURFACE FAR* lplpDDSurface,
IUnknown FAR* pUnkOuter
);
Parameters
- lpDDSurfaceDesc
Address of a DDSURFACEDESC structure that describes the requested surface. You should set any unused members of the DDSURFACEDESC structure to zero before calling this method. A DDSCAPS structure is a member of DDSURFACEDESC.
lplpDDSurface
Address of a variable that will be set to a valid IDirectDrawSurface interface pointer if the call succeeds.In all cases, call IDirectDrawSurface::QueryInterface to obtain a pointer to an IDirectDrawSurface interface and then use the IDirectDrawSurface interface for all of your DirectDraw programming in Windows Embedded CE.
pUnkOuter
Allows for future compatibility with COM aggregation functionality.Presently, however, this method will return an error if this parameter is anything but NULL.
Remarks
DirectDraw does not support emulated surface flipping. Surface flipping in DirectDraw requires hardware support.
If your device does not support hardware flipping and you specify DDSCAPS_FLIP, the operation will fail with the DDERR_NOFLIPHW error code.
Return Value
If the method succeeds, the return value is DD_OK.
If the method fails, the return value may be one of the following error values:
DDERR_INCOMPATIBLEPRIMARY |
DDERR_INVALIDCAPS |
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
DDERR_INVALIDPIXELFORMAT |
DDERR_NOALPHAHW |
DDERR_NOCOOPERATIVELEVELSET |
DDERR_NOFLIPHW |
DDERR_NOOVERLAYHW |
DDERR_OUTOFMEMORY |
DDERR_OUTOFVIDEOMEMORY |
DDERR_PRIMARYSURFACEALREADYEXISTS |
For more information on these error codes see DirectDraw Return Values.
Sample Code
An example showing the use of this function can be found in the topic How to use DirectDraw.
Requirements
Header | ddraw.h |
Library | ddraw.lib |
Windows Embedded CE | Windows Embedded CE 6.0 and later |