方法: アダプターの表示モードを取得する

このトピックでは、Microsoft DirectX グラフィックス インフラストラクチャ (DXGI) を使用して、アダプターに関連付けられている有効な表示モードを取得する方法について説明します。 DirectX 10 と 11 では、DXGI を使用して有効な表示モードを取得できます。 有効な表示モードを知ることで、アプリケーションで有効な全画面表示モードを適切に選択できるようになります。

アダプターの表示モードを取得するには

  1. IDXGIFactory オブジェクトを作成し、それを使用して使用可能なアダプターを列挙します。 詳細については、「 方法: アダプターを列挙する」を参照してください。

  2. IDXGIAdapter::EnumOutputs を呼び出して、各アダプターの出力を列挙します。

    IDXGIOutput* pOutput = NULL; 
    HRESULT hr;
    
    hr = pAdapter->EnumOutputs(0,&pOutput);
    
  3. IDXGIOutput::GetDisplayModeList を呼び出して 、DXGI_MODE_DESC 構造体の配列と配列内の要素の数を取得します。 各 DXGI_MODE_DESC 構造体は、出力の有効な表示モードを表します。

    UINT numModes = 0;
    DXGI_MODE_DESC* displayModes = NULL;
    DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
    
        // Get the number of elements
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, NULL);
    
        displayModes = new DXGI_MODE_DESC[numModes]; 
    
        // Get the list
        hr = pOutput->GetDisplayModeList( format, 0, &numModes, displayModes);
    

デバイス

Direct3D 11 の使用方法