次の方法で共有


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

表示モードのインデックスを表します。これは、0 から GetAdapterModeCount から 1 を引いた値までの符号なし整数です。

[out] pMode

型: D3DDISPLAYMODE*

D3DDISPLAYMODE 型の使用可能な表示モードへのポインター。 「解説」を参照してください。

戻り値

型: HRESULT

  • このアダプターでデバイスを使用できる場合は、D3D_OKが返されます。
  • アダプターがシステム内のディスプレイ アダプターの数以上の場合は、D3DERR_INVALIDCALLが返されます。
  • サーフェス形式がサポートされていない場合、または指定した形式でハードウェア アクセラレーションを使用できない場合は、D3DERR_NOTAVAILABLEが返されます。

解説

アプリケーションは、表示モードを返す EnumAdapterModes に表示モードと形式を提供します。 このメソッドは、使用可能なすべての表示モードを列挙するためにループで使用できます。

アプリケーションは形式を指定し、列挙体は形式と完全に一致する表示モードに制限されます (アルファは無視されます)。 使用できる形式 ( 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