IDirect3D9::EnumAdapterModes メソッド
IDirect3D9::EnumAdapterModes メソッド
利用可能なアダプタ モードを列挙する。
構文
HRESULT EnumAdapterModes(
UINT Adapter,
D3DFORMAT Format,
UINT Mode,
D3DDISPLAYMODE* pMode
);
パラメータ
- Adapter
[in] 列挙するディスプレイ アダプタを示す序数。D3DADAPTER_DEFAULT は常にプライマリ ディスプレイ アダプタである。この値がシステムのディスプレイ アダプタの数以上の場合、このメソッドは D3DERR_INVALIDCALL を返す。 - Format
[in] 利用可能なピクセル フォーマット。アプリケーションではピクセル フォーマットを指定し、列挙はその形式に厳密に一致するディスプレイ モードに制限される。有効なフォーマットは、D3DFMT_X8R8G8B8、D3DFMT_A8R8G8B8、D3DFMT_A2R10G10B10、D3DFMT_X1R5G5B5、D3DFMT_A1R5G5B5、D3DFMT_R5G6B5 である。これらは D3DFORMAT のメンバである。 - Mode
[in] アダプタのモードを表す。ここには、ゼロから IDirect3D9::GetAdapterModeCount が返す値より 1 少ない値までの範囲で、ディスプレイ モードのインデックスを設定する必要がある。「注意」を参照すること。 - pMode
[out] ディスプレイ モードの配列。各要素は D3DDISPLAYMODE 型である。「注意」を参照すること。
戻り値
- このアダプタでデバイスを使える場合は、D3D_OK を返す。
- Adapter がシステムのディスプレイ アダプタの数以上の場合、このメソッドは D3DERR_INVALIDCALL を返す。
- サーフェイス フォーマットがサポートされていないか、指定されたフォーマットでハードウェア アクセラレーションが使えない場合は、D3DERR_NOTAVAILABLE を返す。
注意
ディスプレイ モード パラメータがサポートするディスプレイ モード セットは拡大している。アプリケーションの出荷時になかったフォーマットを列挙しないようにするには、アプリケーションから Microsoft® Direct3D® にディスプレイ モードを列挙するフォーマットを知らせる必要がある。結果として得られるディスプレイ モードの配列は、幅、高さ、リフレッシュ レートのみが異なる。
アプリケーションがピクセル フォーマットを指定し、列挙はそのフォーマットに正確に一致するディスプレイ モードだけに限定される。使用できるフォーマットは、D3DFMT_X8R8G8B8、D3DFMT_A8R8G8B8、D3DFMT_A2B10G10R10、D3DFMT_X1R5G5B5、D3DFMT_A1R5G5B5、D3DFMT_R5G6B5 である。
同じフォーマットのアルファ版と非アルファ版の列挙は同じである。返される Format には、常に、アプリケーションによって提供される同じフォーマットが格納される。「D3DDISPLAYMODE」を参照すること。
このメソッドは、565 と 555 を同じものとして扱い、正しいバージョンを Format に返す。これらに違いが生じるのはアプリケーションがバック バッファをロックした場合に限られ、そのためにはアプリケーションで明示的なフラグを設定する必要がある。