Platform SDK: DirectX

IDirectDraw7::SetDisplayMode

The IDirectDraw7::SetDisplayMode method sets the mode of the display-device hardware.

HRESULT SetDisplayMode(
  DWORD dwWidth, 
  DWORD dwHeight, 
  DWORD dwBPP, 
  DWORD dwRefreshRate, 
  DWORD dwFlags 
);

Parameters

dwWidth and dwHeight
Width and height of the new mode.
dwBPP
Bits per pixel (bpp) of the new mode.
dwRefreshRate
Refresh rate of the new mode. Set this value to 0 to request the default refresh rate for the driver.
dwFlags
Flags describing additional options. Currently, the only valid flag is DDSDM_STANDARDVGAMODE, which causes the method to set Mode 13, instead of Mode X 320x200x8 mode. If you are setting another resolution, bit depth, or a Mode X mode, do not use this flag; instead, set the parameter to 0.

Return Values

If the method succeeds, the return value is DD_OK.

If it fails, the method can return one of the following error values:

DDERR_GENERIC
DDERR_INVALIDMODE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_LOCKEDSURFACES
DDERR_NOEXCLUSIVEMODE
DDERR_SURFACEBUSY
DDERR_UNSUPPORTED
DDERR_UNSUPPORTEDMODE
DDERR_WASSTILLDRAWING

Remarks

This method must be called by the same thread that created the application window.

If another application changes the display mode, the primary surface is lost, and the method returns DDERR_SURFACELOST until the primary surface is recreated to match the new display mode.

As part of the IDirectDraw interface, this method did not include the dwRefreshRate and dwFlags parameters.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 98.
  Header: Declared in ddraw.h.

See Also

IDirectDraw7::RestoreDisplayMode, IDirectDraw7::GetDisplayMode, IDirectDraw7::EnumDisplayModes, IDirectDraw7::SetCooperativeLevel, Setting Display Modes, Restoring Display Modes