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 |