IDirectDraw::EnumDisplayModes

Send Feedback

This method enumerates all of the display modes the hardware exposes through the DirectDraw object that are compatible with a provided surface description.

HRESULT EnumDisplayModes( 
  DWORD dwFlags, 
  LPDDSURFACEDESC lpDDSurfaceDesc, 
  LPVOID lpContext, 
  LPDDENUMMODESCALLBACK lpEnumModesCallback
);

Parameters

  • dwFlags
    The following table shows the possible flags.

    Flag Description
    DDEDM_REFRESHRATES This flag numerates modes with different refresh rates.

    IDirectDraw::EnumDisplayModes guarantees that a mode is enumerated only once.

    This flag specifies whether the refresh rate is taken into account when determining if a mode is unique.

    It is not possible to change an adapter's refresh rate in Windows CE.

    DDEDM_STANDARDVGAMODES This flag is not supported in Windows CE.
  • lpDDSurfaceDesc
    Address of a DDSURFACEDESC structure that will be checked against available modes.

    If the value of this parameter is NULL, all modes are enumerated.

  • lpContext
    Address of an application-defined structure that will be passed to each enumeration member.

  • lpEnumModesCallback
    Address of the EnumModesCallback function that the enumeration procedure will call every time a match is found.

Return Values

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_INVALIDOBJECT
DDERR_INVALIDPARAMS

Remarks

This method enumerates the dwRefreshRate member of the DDSURFACEDESC structure; the IDirectDraw::EnumDisplayModes method does not contain this capability.

If you use the IDirectDraw::SetDisplayMode method to set the refresh rate of a new mode, you must use IDirectDraw::EnumDisplayModes to enumerate the dwRefreshRate member.

Windows CE does not support DDEDM STANDARDVGAMODES.

Requirements

Pocket PC: Windows Mobile 5.0 and later
Smartphone: Windows Mobile 5.0 and later
OS Versions: Windows CE 5.01 and later
Header: Ddraw.h.
Library: Ddraw.lib.

See Also

IDirectDraw::GetDisplayMode | IDirectDraw::SetDisplayMode | IDirectDraw::RestoreDisplayMode

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.