IDirectDraw7::EnumDisplayModes 方法 (ddraw.h)

枚举硬件通过 DirectDraw 对象公开并与提供的图面说明兼容的所有显示模式。

语法

HRESULT EnumDisplayModes(
  [in] DWORD                  unnamedParam1,
  [in] LPDDSURFACEDESC2       unnamedParam2,
  [in] LPVOID                 unnamedParam3,
  [in] LPDDENUMMODESCALLBACK2 unnamedParam4
);

参数

[in] unnamedParam1

此值由以下一个或多个标志组成:

DDEDM_REFRESHRATES

枚举具有不同刷新速率的模式。 IDirectDraw7::EnumDisplayModes 保证特定模式仅枚举一次。 此标志指定在确定模式是否唯一时是否考虑刷新率。

DDEDM_STANDARDVGAMODES

除 320x200x8 模式 X 模式外,还枚举 Mode 13。

[in] unnamedParam2

要针对可用模式检查的 DDSURFACEDESC2 结构的地址。 如果此参数的值为 NULL,则枚举所有模式。

[in] unnamedParam3

要传递给每个枚举成员的应用程序定义结构的地址。

[in] unnamedParam4

枚举过程每次找到匹配项时调用的 EnumModesCallback2 函数的地址。

返回值

如果该方法成功,则返回值DD_OK。

如果失败,该方法可能会返回以下错误值之一:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

备注

IDirectDraw7::EnumDisplayModes 枚举 DDSURFACEDESC2 结构的 dwRefreshRate 成员;IDirectDraw::EnumDisplayModes 方法没有此功能。 如果使用 IDirectDraw7::SetDisplayMode 方法设置新模式的刷新率,请使用 IDirectDraw7::EnumDisplayModes 枚举 dwRefreshRate 成员。

IDirectDraw7::EnumDisplayModes 不同于以前的接口中的对应项,因为它接受 EnumModesCallback2 函数的地址作为参数,而不是 EnumModesCallback 函数。

要求

   
目标平台 Windows
标头 ddraw.h
Library Ddraw.lib
DLL Ddraw.dll

请参阅

IDirectDraw7