次の方法で共有


IDXGIAdapter::EnumOutputs メソッド (dxgi.h)

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

構文

HRESULT EnumOutputs(
        UINT        Output,
  [out] IDXGIOutput **ppOutput
);

パラメーター

Output

型: UINT

出力のインデックス。

[out] ppOutput

型: IDXGIOutput**

Output パラメーターで指定された位置にある IDXGIOutput インターフェイスへのポインターのアドレス。

戻り値

型: HRESULT

成功または失敗を示すコード ( 「DXGI_ERROR」を参照)。 インデックスが出力数を超える場合は、DXGI_ERROR_NOT_FOUNDが返されます。

アダプターが D3D_DRIVER_TYPE_WARP を使用して作成されたデバイスから送信された場合、アダプターには出力がないため、DXGI_ERROR_NOT_FOUNDが返されます。

注釈

メモ セッション 0 プロセスでこの API を呼び出すと、 DXGI_ERROR_NOT_CURRENTLY_AVAILABLEが返されます。
 
EnumOutputs メソッドが成功し、ppOutput パラメーターに出力インターフェイスへのポインターのアドレスを入力すると、EnumOutputs は出力インターフェイスの参照カウントをインクリメントします。 メモリ リークを回避するには、出力インターフェイスの使用が完了したら、 Release メソッドを呼び出して参照カウントをデクリメントします。

EnumOutputs は、 最初にデスクトップ プライマリが表示される出力を返します。 この出力は、0 のインデックスに対応します。 その後、EnumOutputs は 他の出力を返します。

出力の列挙

EnumOutputs を使用してアダプター上のすべての出力を列挙する方法の例を次に示します。


UINT i = 0;
IDXGIOutput * pOutput;
std::vector<IDXGIOutput*> vOutputs;
while(pAdapter->EnumOutputs(i, &pOutput) != DXGI_ERROR_NOT_FOUND)
{
    vOutputs.push_back(pOutput);
    ++i;
}

要件

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

こちらもご覧ください

DXGI インターフェイス

IDXGIAdapter