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*
pDesc を NULL に設定して、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 |