IDXGIFactory::EnumAdapters メソッド (dxgi.h)

アダプター (ビデオ カード) を列挙します。

構文

HRESULT EnumAdapters(
        UINT         Adapter,
  [out] IDXGIAdapter **ppAdapter
);

パラメーター

Adapter

型: UINT

列挙するアダプターのインデックス。

[out] ppAdapter

種類: IDXGIAdapter**

Adapter パラメーターで指定された位置にある IDXGIAdapter インターフェイスへのポインターのアドレス。 このパラメーターは NULL にすることはできません。

戻り値

種類: HRESULT

成功した場合はS_OKを返します。それ以外の場合は、インデックスがローカル システム内のアダプターの数以上の場合はDXGI_ERROR_NOT_FOUNDを返し、ppAdapter パラメーターが NULL の場合はDXGI_ERROR_INVALID_CALLを返します。

注釈

ファクトリを作成すると、ファクトリはシステムで使用可能なアダプターのセットを列挙します。 したがって、システム内のアダプターを変更する場合は、 IDXGIFactory オブジェクトを破棄して再作成する必要があります。 ディスプレイ カードを追加または削除したり、ノート PC をドッキングまたはドッキング解除したりすると、システム内のアダプターの数が変わります。

EnumAdapters メソッドが成功し、ppAdapter パラメーターにアダプター インターフェイスへのポインターのアドレスを入力すると、EnumAdapters はアダプター インターフェイスの参照カウントをインクリメントします。 アダプター インターフェイスの使用が完了したら、ポインターを破棄する前に Release メソッドを呼び出して参照カウントを減らします。

EnumAdapters は 、まず、デスクトップ プライマリが表示される出力を持つアダプターを返します。 このアダプターは、0 のインデックスに対応します。 EnumAdapters は 次に、出力を含む他のアダプターを返します。 EnumAdapters は 最終的に出力なしでアダプターを返します。

アダプターの列挙

次のコード例では、 EnumAdapters メソッドを使用してアダプターを列挙する方法を示します。


UINT i = 0; 
IDXGIAdapter * pAdapter; 
std::vector <IDXGIAdapter*> vAdapters; 
while(pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND) 
{ 
	vAdapters.push_back(pAdapter); 
	++i; 
} 

要件

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

こちらもご覧ください

DXGI インターフェイス

IDXGIFactory