Platform SDK: DirectX

IDirectDraw7::EnumDisplayModes

IDirectDraw7::EnumDisplayModes メソッドは、ハードウェアが DirectDraw オブジェクトを介して公開するディスプレイ モードのうち、提供されたサーフェス記述と互換性があるすべてのディスプレイ モードを列挙する。

HRESULT EnumDisplayModes(
  DWORD dwFlags,                              
  LPDDSURFACEDESC2 lpDDSurfaceDesc2,          
  LPVOID lpContext,                           
  LPDDENUMMODESCALLBACK2 lpEnumModesCallback  
);

パラメータ

dwFlags
DDEDM_REFRESHRATES
異なるリフレッシュ レートでモードを列挙する。IDirectDraw7::EnumDisplayModes は、特定のモードを 2 回以上列挙することはない。このフラグは、モードがユニークかどうかを判断する際にリフレッシュ レートを考慮するかどうかを指定する。
DDEDM_STANDARDVGAMODES
320 × 200 × 8 モード X モード以外に、モード 13 を列挙する。
lpDDSurfaceDesc2
利用可能なモードと照合する DDSURFACEDESC2 構造体のアドレス。このパラメータの値が NULL の場合、すべてのモードが列挙される。
lpContext
個々の列挙メンバに渡すアプリケーション定義構造体のアドレス。
lpEnumModesCallback
一致の見つかるたびに列挙プロシージャが呼び出す EnumModesCallback2 関数のアドレス。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

注意

このメソッドは、DDSURFACEDESC2 構造体の dwRefreshRate メンバを列挙する。つまり、IDirectDraw::EnumDisplayModes メソッドにはこの能力がない。IDirectDraw7::SetDisplayMode メソッドを使用して新しいモードのリフレッシュ レートを設定する場合は、IDirectDraw7::EnumDisplayModes を使用して dwRefreshRate メンバを列挙しなければならない。

このメソッドは以前のインターフェイスの対応するメソッドとは異なり、EnumModesCallback 関数ではなくパラメータとして EnumModesCallback2 関数のアドレスを受け取る。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 98 が必要。
  ヘッダー : ddraw.h で宣言。

参照

IDirectDraw7::GetDisplayModeIDirectDraw7::SetDisplayModeIDirectDraw7::RestoreDisplayMode