IDirect3D9::EnumAdapterModes 方法 (d3d9.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

表示显示模式索引,该索引是介于 0 和 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
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3D9