IDirect3D9::EnumAdapterModes

デバイスをクエリして、指定したアダプターが要求されたフォーマットと表示モードをサポートするかどうかを判定します。このメソッドをループで使用して、使用可能なすべてのアダプター モードを列挙できます。

HRESULT 
EnumAdapterModes(
  UINT Adapter,
  D3DFORMAT Format,
  UINT Mode,
  D3DDISPLAYMODE* pMode
);

パラメータ

  • Adapter
    列挙するディスプレイ アダプターを示す序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプターです。システムのディスプレイ アダプターの数以上の値が指定された場合、このメソッドは D3DERR_INVALIDCALL を返します。
  • Format
    使用できるピクセル フォーマット。「解説」を参照してください。
  • Mode
    表示モード インデックスを表します。これは、ゼロと、IDirect3D9::GetAdapterModeCount で返された値から 1 を減算した値の間の符号なし整数です。
  • pMode
    D3DDISPLAYMODE 型の使用可能な表示モードへのポインターです。「解説」を参照してください。

戻り値

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

解説 

表示モードを返す IDirect3D9::EnumAdapterModes には、表示モードとフォーマットを指定します。このメソッドをループで使用して、使用可能なすべての表示モードを列挙できます。

アプリケーションはフォーマットを指定し、列挙はフォーマットに完全に一致する表示モードに制限されます (アルファは無視されます)。使用できるフォーマット (D3DFORMAT のメンバー) は以下のとおりです。

  • D3DFMT_A1R5G5B5
  • D3DFMT_A2R10G10B10
  • D3DFMT_A8R8G8B8
  • D3DFMT_R5G6B5
  • D3DFMT_X1R5G5B5
  • D3DFMT_X8R8G8B8

さらに、IDirect3D9::EnumAdapterModes はピクセル フォーマット 565 と 555 を同等として処理し、正しいバージョンを返します。違いが現れるのは、アプリケーションがバック バッファーをロックし、アプリケーションがそのために明示的なフラグを設定する必要がある場合です。

要件

ヘッダー: D3D9.h 宣言

ライブラリ: D3D9.lib 内容