次の方法で共有


IDXGIFactory1::EnumAdapters1 メソッド (dxgi.h)

出力の有無にかかわらず、両方のアダプター (ビデオ カード) を列挙します。

構文

HRESULT EnumAdapters1(
        UINT          Adapter,
  [out] IDXGIAdapter1 **ppAdapter
);

パラメーター

Adapter

型: UINT

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

[out] ppAdapter

種類: IDXGIAdapter1**

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

戻り値

種類: HRESULT

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

解説

この方法は、Windows Vista および Windows Server 2008 に付属している DXGI 1.0 ではサポートされていません。 DXGI 1.1 のサポートが必要です。これは、Windows 7、Windows Server 2008 R2、および Service Pack 2 (SP2) (KB 971644) と Windows Server 2008 (KB 971512) を使用した Windows Vista の更新プログラムとして利用できます。

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

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

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

アダプターの列挙

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


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

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー dxgi.h
Library DXGI.lib

関連項目

DXGI インターフェイス

IDXGIFactory1