Поделиться через


Метод 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

Представляет индекс режима отображения, представляющий собой целое число без знака от нуля до значения, возвращаемого GetAdapterModeCount минус единица.

[out] pMode

Тип: D3DDISPLAYMODE*

Указатель на доступный режим отображения типа D3DDISPLAYMODE. См. заметки.

Возвращаемое значение

Тип: HRESULT

  • Если устройство можно использовать на этом адаптере, возвращается D3D_OK.
  • Если значение адаптера равно или превышает количество видеоадаптеров в системе, возвращается D3DERR_INVALIDCALL.
  • Если любой из форматов surface не поддерживается или аппаратное ускорение недоступно для указанных форматов, возвращается D3DERR_NOTAVAILABLE.

Комментарии

Приложение предоставляет режим отображения и формат для EnumAdapterModes , который возвращает режим отображения. Этот метод можно использовать в цикле для перечисления всех доступных режимов отображения.

Приложение задает формат, и перечисление ограничивается теми режимами отображения, которые точно соответствуют формату (альфа-канал игнорируется). Допустимые форматы (которые являются элементами D3DFORMAT):

  • D3DFMT_A1R5G5B5
  • D3DFMT_A2R10G10B10
  • D3DFMT_A8R8G8B8
  • D3DFMT_R5G6B5
  • D3DFMT_X1R5G5B5
  • D3DFMT_X8R8G8B8
Кроме того, EnumAdapterModes обрабатывает форматы пикселей 565 и 555 как эквивалентные и возвращает правильную версию. Разница возникает только в том случае, если приложение блокирует задний буфер и имеется явный флаг, который приложение должно установить для этого.

Требования

   
Целевая платформа Windows
Header d3d9.h (включая D3D9.h)
Библиотека D3D9.lib

См. также раздел

IDirect3D9