次の方法で共有


IDXGIAdapter::GetDesc

アダプター (またはビデオ カード) のDXGI 1.0 記述を取得します。

HRESULT 
GetDesc(
  DXGI_ADAPTER_DESC *pDesc
);

パラメータ

  • pDesc
    アダプターを表す DXGI_ADAPTER_DESC 構造体へのポインター。このパラメーターを NULL にすることはできません。

戻り値

正常に実行できた場合は S_OK を返し、それ以外の場合はエラー コードを返します。pDesc パラメーターが NULL の場合は、DXGI_ERR_INVALID_CALL を返します。エラー コードの一覧については、「DXGI_ERROR」を参照してください。

解説 

グラフィック アプリケーションで DXGI API を使用して、WDDM ドライバーを備えたシステムにあるグラフィック メモリーの正確な値を取得できます。そのための重要な手順は次のとおりです。

  • グラフィック ドライバー モデルの決定 — WDDM ドライバーを備えたシステムでのみ DXGI を利用できるので、アプリケーションではまず次の API を使用してドライバー モデルを確認する必要があります。

     HasWDDMDriver() {     LPDIRECT3DCREATE9EX pD3D9Create9Ex = NULL;     HMODULE             hD3D9          = NULL;      hD3D9 = LoadLibrary( L"d3d9.dll" );      if ( NULL == hD3D9 ) {         return false;     }      //     /*  Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver.      */     //     pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" );      return pD3D9Create9Ex != NULL; }       
    
  • グラフィック メモリーの値の取得 — ドライバー モデルを WDDM に決定した後、アプリケーションで Direct X 10 以降の API および DXGI を使用してグラフィック メモリーの量を知ることができます。Direct3D デバイスを作成した後、次のコードを使用して、利用可能なグラフィック メモリーの量を格納した DXGI_ADAPTER_DESC 構造体を取得できます。

     IDXGIDevice * pDXGIDevice; hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice); IDXGIAdapter * pDXGIAdapter; pDXGIDevice->GetAdapter(&pDXGIAdapter); DXGI_ADAPTER_DESC adapterDesc; pDXGIAdapter->GetDesc(&adapterDesc);       
    

要件

ヘッダー: DXGI.h 宣言

ライブラリ: DXGI.lib 内容

関連項目

DXGI のインターフェイス