DirectDraw Return Codes
Header: ddraw.h
Errors are represented by negative values and cannot be combined. This table lists the values that can be returned by all methods of the DirectDraw Interfaces and DirectDraw Functions. For a list of the error codes that each method or function can return, see the method or function description.
| Symbolic | Code | Description |
|---|---|---|
| DD_OK | The request completed successfully. | |
| DDERR_ALREADYINITIALIZED | The object has already been initialized. | |
| DDERR_BLTFASTCANTCLIP | A DirectDrawClipper object is attached to a source surface that has passed into a call to the [**IDirectDrawSurface7::BltFast**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawsurface7-bltfast) method. | |
| DDERR_CANNOTATTACHSURFACE | A surface cannot be attached to another requested surface. | |
| DDERR_CANNOTDETACHSURFACE | A surface cannot be detached from another requested surface. | |
| DDERR_CANTCREATEDC | Windows cannot create any more device contexts (DCs), or a DC has requested a palette-indexed surface when the surface had no palette and the display mode was not palette-indexed (in this case, DirectDraw cannot select a proper palette into the DC). | |
| DDERR_CANTDUPLICATE | Primary and 3-D surfaces, or surfaces that are implicitly created, cannot be duplicated. | |
| DDERR_CANTLOCKSURFACE | Access to this surface is refused because an attempt was made to lock the primary surface without Display Control Interface (DCI) support. | |
| DDERR_CANTPAGELOCK | An attempt to page-lock a surface failed. Page lock does not work on a display-memory surface or an emulated primary surface. | |
| DDERR_CANTPAGEUNLOCK | An attempt to page-unlock a surface failed. Page unlock does not work on a display-memory surface or an emulated primary surface. | |
| DDERR_CLIPPERISUSINGHWND | An attempt was made to set a clip list for a DirectDrawClipper object that is already monitoring a window handle. | |
| DDERR_COLORKEYNOTSET | No source color key is specified for this operation. | |
| DDERR_CURRENTLYNOTAVAIL | No support is currently available. | |
| DDERR_DDSCAPSCOMPLEXREQUIRED | New for DirectX 7.0. The surface requires the DDSCAPS_COMPLEX flag. | |
| DDERR_DCALREADYCREATED | A device context (DC) has already been returned for this surface. Only one DC can be retrieved for each surface. **>DDERR_DEVICEDOESNTOWNSURFACE** Surfaces created by one DirectDraw device cannot be used directly by another DirectDraw device. **>DDERR_DIRECTDRAWALREADYCREATED** A DirectDraw object representing this driver has already been created for this process. | |
| DDERR_EXCEPTION | An exception was encountered while performing the requested operation. | |
| DDERR_EXCLUSIVEMODEALREADYSET | An attempt was made to set the cooperative level when it was already set to exclusive. | |
| DDERR_EXPIRED | The data has expired and is therefore no longer valid. | |
| DDERR_GENERIC | There is an undefined error condition. | |
| DDERR_HEIGHTALIGN | The height of the provided rectangle is not a multiple of the required alignment. | |
| DDERR_HWNDALREADYSET | The DirectDraw cooperative-level window handle has already been set. It cannot be reset while the process has surfaces or palettes created. | |
| DDERR_HWNDSUBCLASSED | DirectDraw is prevented from restoring state because the DirectDraw cooperative-level window handle has been subclassed. | |
| DDERR_IMPLICITLYCREATED | The surface cannot be restored because it is an implicitly created surface. | |
| DDERR_INCOMPATIBLEPRIMARY | The primary surface creation request does not match the existing primary surface. | |
| DDERR_INVALIDCAPS | One or more of the capability bits passed to the callback function are incorrect. | |
| DDERR_INVALIDCLIPLIST | DirectDraw does not support the provided clip list. | |
| DDERR_INVALIDDIRECTDRAWGUID | The globally unique identifier (GUID) passed to the [**DirectDrawCreate**](/windows/desktop/api/Ddraw/nf-ddraw-directdrawcreate) function is not a valid DirectDraw driver identifier. | |
| DDERR_INVALIDMODE | DirectDraw does not support the requested mode. | |
| DDERR_INVALIDOBJECT | DirectDraw received a pointer that was an invalid DirectDraw object. | |
| DDERR_INVALIDPARAMS | One or more of the parameters passed to the method are incorrect. | |
| DDERR_INVALIDPIXELFORMAT | The pixel format was invalid as specified. | |
| DDERR_INVALIDPOSITION | The position of the overlay on the destination is no longer valid. | |
| DDERR_INVALIDRECT | The provided rectangle was invalid. | |
| DDERR_INVALIDSTREAM | The specified stream contains invalid data. | |
| DDERR_INVALIDSURFACETYPE | The surface was of the wrong type. | |
| DDERR_LOCKEDSURFACES | One or more surfaces are locked, causing the failure of the requested operation. | |
| DDERR_MOREDATA | There is more data available than the specified buffer size can hold. | |
| DDERR_NEWMODE | New for DirectX 7.0. When [**IDirectDraw7::StartModeTest**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdraw7-startmodetest) is called with the DDSMT_ISTESTREQUIRED flag, it might return this value to denote that some or all of the resolutions can and should be tested. [**IDirectDraw7::EvaluateMode**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdraw7-evaluatemode) returns this value to indicate that the test has switched to a new display mode. | |
| DDERR_NO3D | No 3-D hardware or emulation is present. | |
| DDERR_NOALPHAHW | No alpha-acceleration hardware is present or available, causing the failure of the requested operation. | |
| DDERR_NOBLTHW | No bit block transferring hardware is present. | |
| DDERR_NOCLIPLIST | No clip list is available. | |
| DDERR_NOCLIPPERATTACHED | No DirectDrawClipper object is attached to the surface object. | |
| DDERR_NOCOLORCONVHW | No color-conversion hardware is present or available. | |
| DDERR_NOCOLORKEY | The surface does not currently have a color key. | |
| DDERR_NOCOLORKEYHW | There is no hardware support for the destination color key. | |
| DDERR_NOCOOPERATIVELEVELSET | A create function was called without the [**IDirectDraw7::SetCooperativeLevel**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdraw7-setcooperativelevel) method. | |
| DDERR_NODC | No device context (DC) has ever been created for this surface. | |
| DDERR_NODDROPSHW | No DirectDraw raster-operation (ROP) hardware is available. | |
| DDERR_NODIRECTDRAWHW | Hardware-only DirectDraw object creation is not possible; the driver does not support any hardware. | |
| DDERR_NODIRECTDRAWSUPPORT | DirectDraw support is not possible with the current display driver. | |
| DDERR_NODRIVERSUPPORT | New for DirectX 7.0. Testing cannot proceed because the display adapter driver does not enumerate refresh rates. | |
| DDERR_NOEMULATION | Software emulation is not available. | |
| DDERR_NOEXCLUSIVEMODE | The operation requires the application to have exclusive mode, but the application does not have exclusive mode. | |
| DDERR_NOFLIPHW | Flipping visible surfaces is not supported. | |
| DDERR_NOFOCUSWINDOW | An attempt was made to create or set a device window without first setting the focus window. | |
| DDERR_NOGDI | No GDI is present. | |
| DDERR_NOHWND | Clipper notification requires a window handle, or no window handle has been previously set as the cooperative level window handle. | |
| DDERR_NOMIPMAPHW | No mipmap-capable texture mapping hardware is present or available. | |
| DDERR_NOMIRRORHW | No mirroring hardware is present or available. | |
| DDERR_NOMONITORINFORMATION | New for DirectX 7.0. Testing cannot proceed because the monitor has no associated EDID data. | |
| DDERR_NONONLOCALVIDMEM | An attempt was made to allocate nonlocal video memory from a device that does not support nonlocal video memory. | |
| DDERR_NOOPTIMIZEHW | The device does not support optimized surfaces. | |
| DDERR_NOOVERLAYDEST | The [**IDirectDrawSurface7::GetOverlayPosition**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawsurface7-getoverlayposition) method is called on an overlay that the [**IDirectDrawSurface7::UpdateOverlay**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawsurface7-updateoverlay) method has not been called on to establish as a destination. | |
| DDERR_NOOVERLAYHW | No overlay hardware is present or available. | |
| DDERR_NOPALETTEATTACHED | No palette object is attached to this surface. | |
| DDERR_NOPALETTEHW | There is no hardware support for 16- or 256-color palettes. | |
| DDERR_NORASTEROPHW | No appropriate raster-operation hardware is present or available. | |
| DDERR_NOROTATIONHW | No rotation hardware is present or available. | |
| DDERR_NOSTEREOHARDWARE | There is no stereo hardware present or available. | |
| DDERR_NOSTRETCHHW | There is no hardware support for stretching. | |
| DDERR_NOSURFACELEFT | There is no hardware present that supports stereo surfaces. | |
| DDERR_NOT4BITCOLOR | The DirectDrawSurface object is not using a 4-bit color palette, and the requested operation requires a 4-bit color palette. | |
| DDERR_NOT4BITCOLORINDEX | The DirectDrawSurface object is not using a 4-bit color index palette, and the requested operation requires a 4-bit color index palette. | |
| DDERR_NOT8BITCOLOR | The DirectDrawSurface object is not using an 8-bit color palette, and the requested operation requires an 8-bit color palette. | |
| DDERR_NOTAOVERLAYSURFACE | An overlay component is called for a nonoverlay surface. | |
| DDERR_NOTEXTUREHW | The operation cannot be carried out because no texture-mapping hardware is present or available. | |
| DDERR_NOTFLIPPABLE | An attempt was made to flip a surface that cannot be flipped. | |
| DDERR_NOTFOUND | The requested item was not found. | |
| DDERR_NOTINITIALIZED | An attempt was made to call an interface method of a DirectDraw object created by [**CoCreateInstance**](/windows/desktop/api/combaseapi/nf-combaseapi-cocreateinstance) before the object was initialized. | |
| DDERR_NOTLOADED | The surface is an optimized surface, but it has not yet been allocated any memory. | |
| DDERR_NOTLOCKED | An attempt was made to unlock a surface that was not locked. | |
| DDERR_NOTPAGELOCKED | An attempt was made to page-unlock a surface with no outstanding page locks. | |
| DDERR_NOTPALETTIZED | The surface being used is not a palette-based surface. | |
| DDERR_NOVSYNCHW | There is no hardware support for vertical blank synchronized operations. | |
| DDERR_NOZBUFFERHW | The operation to create a z-buffer in display memory or to perform a bit block transfer (bitblt), using a z-buffer cannot be carried out because there is no hardware support for z-buffers. | |
| DDERR_NOZOVERLAYHW | The overlay surfaces cannot be z-layered, based on the z-order because the hardware does not support z-ordering of overlays. | |
| DDERR_OUTOFCAPS | The hardware needed for the requested operation has already been allocated. | |
| DDERR_OUTOFMEMORY | DirectDraw does not have enough memory to perform the operation. | |
| DDERR_OUTOFVIDEOMEMORY | DirectDraw does not have enough display memory to perform the operation. | |
| DDERR_OVERLAPPINGRECTS | The source and destination rectangles are on the same surface and overlap each other. | |
| DDERR_OVERLAYCANTCLIP | The hardware does not support clipped overlays. | |
| DDERR_OVERLAYCOLORKEYONLYONEACTIVE | An attempt was made to have more than one color key active on an overlay. | |
| DDERR_OVERLAYNOTVISIBLE | The [**IDirectDrawSurface7::GetOverlayPosition**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawsurface7-getoverlayposition) method was called on a hidden overlay. | |
| DDERR_PALETTEBUSY | Access to this palette is refused because the palette is locked by another thread. | |
| DDERR_PRIMARYSURFACEALREADYEXISTS | This process has already created a primary surface. | |
| DDERR_REGIONTOOSMALL | The region passed to the [**IDirectDrawClipper::GetClipList**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawclipper-getcliplist) method is too small. | |
| DDERR_SURFACEALREADYATTACHED | An attempt was made to attach a surface to another surface to which it is already attached. | |
| DDERR_SURFACEALREADYDEPENDENT | An attempt was made to make a surface a dependency of another surface on which it is already dependent. | |
| DDERR_SURFACEBUSY | Access to the surface is refused because the surface is locked by another thread. | |
| DDERR_SURFACEISOBSCURED | Access to the surface is refused because the surface is obscured. | |
| DDERR_SURFACELOST | Access to the surface is refused because the surface memory is gone. Call the [**IDirectDrawSurface7::Restore**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdrawsurface7-restore) method on this surface to restore the memory associated with it. | |
| DDERR_SURFACENOTATTACHED | The requested surface is not attached. | |
| DDERR_TESTFINISHED | New for DirectX 7.0. When returned by the [**IDirectDraw7::StartModeTest**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdraw7-startmodetest) method, this value means that no test could be initiated because all the resolutions chosen for testing already have refresh rate information in the registry. When returned by [**IDirectDraw7::EvaluateMode**](/windows/desktop/api/Ddraw/nf-ddraw-idirectdraw7-evaluatemode), the value means that DirectDraw has completed a refresh rate test. | |
| DDERR_TOOBIGHEIGHT | The height requested by DirectDraw is too large. | |
| DDERR_TOOBIGSIZE | The size requested by DirectDraw is too large. However, the individual height and width are valid sizes. | |
| DDERR_TOOBIGWIDTH | The width requested by DirectDraw is too large. | |
| DDERR_UNSUPPORTED | The operation is not supported. | |
| DDERR_UNSUPPORTEDFORMAT | The pixel format requested is not supported by DirectDraw. | |
| DDERR_UNSUPPORTEDMASK | The bitmask in the pixel format requested is not supported by DirectDraw. | |
| DDERR_UNSUPPORTEDMODE | The display is currently in an unsupported mode. | |
| DDERR_VERTICALBLANKINPROGRESS | A vertical blank is in progress. | |
| DDERR_VIDEONOTACTIVE | The video port is not active. | |
| DDERR_WASSTILLDRAWING | The previous bitblt operation that is transferring information to or from this surface is incomplete. | |
| DDERR_WRONGMODE | This surface cannot be restored because it was created in a different mode. | |
| DDERR_XALIGN | The provided rectangle was not horizontally aligned on a required boundary. | |
| 116 entries | ||
Article text from the Win32 documentation (opens in a new tab), by Microsoft, under the CC BY 4.0 (opens in a new tab) licence.