次の方法で共有


IDXGIOutput::GetDisplayModeList

要求されたフォーマットおよびその他の入力オプションと一致する表示モードを取得します。

HRESULT 
GetDisplayModeList(
  DXGI_FORMAT EnumFormat,
  UINT Flags,
  UINT *pNumModes,
  DXGI_MODE_DESC *pDesc
);

パラメータ

  • EnumFormat
    カラー フォーマット (「DXGI_FORMAT」を参照)
  • Flags
    含まれるモード オプション (「DXGI_ENUM_MODES」を参照)。スケーリングを必要とする表示モードを公開するには、DXGI_ENUM_MODES_SCALING を指定する必要があります。デフォルトではセンタリング モードが列挙されます。このモードは、スケーリングを必要とせず、表示出力に直接対応しています。
  • pNumModes
    pDesc を NULL に設定すると、pNumModes は指定のフォーマットおよびオプションと一致する表示モードの数を返します。それ以外の場合は、pNumModes は pDesc に返された表示モードの数を返します。
  • pDesc
    表示モードのリストへのポインター (「DXGI_MODE_DESC」を参照)。NULL に設定すると、表示モードの数を取得できます。

戻り値

次の DXGI_ERROR のいずれかを返します。このメソッドの呼び出し後、すぐに利用可能な表示モードが変化する場合がまれにある可能性があり、その際、すべての表示モードのための十分な空き領域がない場合には、DXGI_ERROR_MORE_DATA が返されます。リモート デスクトップ サービス セッション (以前はターミナル サービス セッションと呼ばれていました) から GetDisplayModeList を呼び出すと、DXGI_ERROR_NOT_CURRENTLY_AVAILABLE が返されます。

解説 

一般に、ウィンドウ モードからフルスクリーン モードへの切り替え時に、スワップ チェーンは自動的にスワップ チェーンの解像度、カラー深度、およびリフレッシュ レートと一致する (またはそれを超える) 表示モードを選択します。表示モードに対してより多くの制御を行うには、この API を使用してモニター能力に対して検証された表示モードのセット、または (デスクトップの設定がモニターに対して検証されていない場合には)、デスクトップに適合するすべてのモードをポーリングします。

次に示すように、この API は 2 回呼び出されるように設計されています。1 回目は利用可能なモードの数を取得するため、2 回目はモードの記述を返すためです。

 UINT num = 0; DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT; UINT flags         = DXGI_ENUM_MODES_INTERLACED;  pOutput->GetDisplayModeList( format, flags, &num, 0);  ...  DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num]; pOutput->GetDisplayModeList( format, flags, &num, pDescs);       

要件

ヘッダー: DXGI.h 宣言

ライブラリ: DXGI.lib 内容

関連項目

IDXGIOutput