The IDirectDraw2::SetDisplayMode method sets the mode of the display-device hardware.
HRESULT SetDisplayMode(
DWORD dwWidth,
DWORD dwHeight,
DWORD dwBPP,
DWORD dwRefreshRate,
DWORD dwFlags
);
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_GENERIC |
| DDERR_INVALIDMODE |
| DDERR_INVALIDOBJECT |
| DDERR_INVALIDPARAMS |
| DDERR_LOCKEDSURFACES |
| DDERR_NOEXCLUSIVEMODE |
| DDERR_SURFACEBUSY |
| DDERR_UNSUPPORTED |
| DDERR_UNSUPPORTEDMODE |
| DDERR_WASSTILLDRAWING |
If another application changes the display mode, the primary surface will be lost and will return DDERR_SURFACELOST until it is recreated to match the new display mode.
As part of the IDirectDraw interface, this method did not include the dwRefreshRate and dwFlags parameters.
IDirectDraw2::RestoreDisplayMode, IDirectDraw2::GetDisplayMode, IDirectDraw2::EnumDisplayModes, IDirectDraw2::SetCooperativeLevel, Cooperative Levels and Display Modes with IDirectDraw2, Setting Display Modes