次の方法で共有


IDXGIOutput::GetDisplayModeList メソッド (dxgi.h)

[Direct3D 11.1 以降では、一致する表示モードを取得するために GetDisplayModeList を使用しないことをお勧めします。 代わりに、ステレオ表示モードをサポートする IDXGIOutput1::GetDisplayModeList1 を使用します。

要求された形式とその他の入力オプションに一致する表示モードを取得します。

構文

HRESULT GetDisplayModeList(
                  DXGI_FORMAT    EnumFormat,
                  UINT           Flags,
  [in, out]       UINT           *pNumModes,
  [out, optional] DXGI_MODE_DESC *pDesc
);

パラメーター

EnumFormat

種類: DXGI_FORMAT

色の形式 ( 「DXGI_FORMAT」を参照)。

Flags

型: UINT

含めるモードのオプション ( 「DXGI_ENUM_MODES」を参照)。 スケーリングを必要とする表示モードを公開するには、DXGI_ENUM_MODES_SCALINGを指定する必要があります。 中央揃えモードでは、スケーリングを必要とせず、表示出力に直接対応するモードが既定で列挙されます。

[in, out] pNumModes

型: UINT*

pDescNULL に設定して、pNumModes が形式とオプションに一致する表示モードの数を返すようにします。 それ以外の場合、 pNumModes はpDesc で返される表示モードの数を返します。

[out, optional] pDesc

種類: DXGI_MODE_DESC*

表示モードのリストへのポインター ( 「DXGI_MODE_DESC」を参照)。 を NULL に設定して、表示モードの数を取得します。

戻り値

型: HRESULT

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

解説

一般に、ウィンドウモードから全画面表示モードに切り替えると、スワップチェーンはスワップチェーンの解像度、色深度、リフレッシュレートを満たす(または超える)表示モードを自動的に選択します。 表示モードをより詳細に制御するには、この API を使用して、モニター機能に対して検証される一連の表示モード、またはデスクトップに一致するすべてのモード (デスクトップ設定がモニターに対して検証されていない場合) をポーリングします。

示されているように、この API は 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);
      

要件

   
対象プラットフォーム Windows
ヘッダー dxgi.h
Library DXGI.lib

関連項目

IDXGIOutput