IDXGIFactory::EnumAdapters
アダプター (ビデオ カード) を列挙します。
HRESULT
EnumAdapters(
UINT Adapter,
IDXGIAdapter **ppAdapter
);
パラメータ
- Adapter
列挙するアダプターのインデックス。 - ppAdapter
Adapter パラメーターによって指定された位置にある IDXGIAdapter インターフェイスへのポインターのアドレス。このパラメーターを NULL にすることはできません。
戻り値
成功した場合は S_OK を返し、それ以外の場合でインデックスがローカル システム内のアダプターの数以上のときには、DXGI_ERR_NOT_FOUND を返します。また、ppAdapter パラメーターが NULL の場合には、DXGI_ERR_INVALID_CALL を返します。
解説
システムで利用可能なアダプターのセットは、ファクトリの作成時に列挙されます。したがって、システム内のアダプターを変更する場合には、IDXGIFactory オブジェクトを一度破棄し、再作成する必要があります。システム内のアダプターの数は、ディスプレイ カードを追加または取り外したり、ラップトップをドッキングまたはドッキング解除することで変化します。
EnumAdapters メソッドが成功し、アダプター インターフェイスが格納されると、アダプターのリファレンス カウントがインクリメントされます。アダプター インターフェイスの使用が終了したら、ポインターを破棄する前に Release メソッドを呼び出してリファレンス カウントをデクリメントする必要があります。
例
アダプターの列挙
次のコード例は、EnumAdapters メソッドを使用したアダプターの列挙方法を示しています。UINT i = 0; IDXGIAdapter * pAdapter; std::vector <IDXGIAdapter1*> vAdapters; while(pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND) { vAdapters.push_back(pAdapter); ++i; }
要件
ヘッダー: DXGI.h 宣言
ライブラリ: DXGI.lib 内容