IDirect3D9::EnumAdapterModes 方法 (d3d9helper.h)

查询设备以确定指定的适配器是否支持请求的格式和显示模式。 此方法可以在循环中使用,以枚举所有可用的适配器模式。

语法

HRESULT EnumAdapterModes(
  [in]  UINT           Adapter,
  [in]  D3DFORMAT      Format,
  [in]  UINT           Mode,
  [out] D3DDISPLAYMODE *pMode
);

参数

[in] Adapter

类型: UINT

表示要枚举的显示适配器的序号。 D3DADAPTER_DEFAULT 始终是主要显示适配器。 当此值等于或超过系统中的显示适配器数时,此方法返回D3DERR_INVALIDCALL。

[in] Format

类型: D3DFORMAT

允许的像素格式。 请参阅“备注”。

[in] Mode

类型: UINT

表示显示模式索引,它是零与 GetAdapterModeCount 返回的值减 1 之间的无符号整数。

[out] pMode

类型: D3DDISPLAYMODE*

指向 类型为 D3DDISPLAYMODE 的可用显示模式的指针。 请参阅“备注”。

返回值

类型: HRESULT

  • 如果设备可以在此适配器上使用,则返回D3D_OK。
  • 如果适配器等于或超过系统中的显示适配器数,则返回D3DERR_INVALIDCALL。
  • 如果图面格式不受支持,或者如果硬件加速不适用于指定格式,则返回D3DERR_NOTAVAILABLE。

备注

应用程序向返回显示模式的 EnumAdapterModes 提供显示模式和格式。 此方法可以在循环中使用,以枚举所有可用的显示模式。

应用程序指定格式,枚举仅限于与 alpha 格式完全匹配的显示模式 () 忽略。 D3DFORMAT) 成员的允许格式 (如下所示:

  • D3DFMT_A1R5G5B5
  • D3DFMT_A2R10G10B10
  • D3DFMT_A8R8G8B8
  • D3DFMT_R5G6B5
  • D3DFMT_X1R5G5B5
  • D3DFMT_X8R8G8B8
此外, EnumAdapterModes 将像素格式 565 和 555 视为等效,并返回正确的版本。 只有当应用程序锁定后台缓冲区并且应用程序必须设置一个显式标志才能完成此操作时,差异才会起作用。

要求

   
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3D9