次の方法で共有


PFND3DDDI_QUERYADAPTERINFOCB コールバック関数 (d3dumddi.h)

pfnQueryAdapterInfoCb 関数は、グラフィックス アダプター情報を取得します。

構文

PFND3DDDI_QUERYADAPTERINFOCB Pfnd3dddiQueryadapterinfocb;

HRESULT Pfnd3dddiQueryadapterinfocb(
  HANDLE hAdapter,
  const D3DDDICB_QUERYADAPTERINFO *unnamedParam2
)
{...}

パラメーター

hAdapter

グラフィックス アダプター オブジェクトのハンドル。

unnamedParam2

pData [in, out]

グラフィックス ハードウェアに関する情報を受け取る D3DDDICB_QUERYADAPTERINFO 構造体へのポインター。

戻り値

pfnQueryAdapterInfoCb は、次のいずれかの値を返します。

リターン コード 形容
S_OK 情報が正常に取得されました。
E_INVALIDARG パラメーターが検証され、正しくないと判断されました。

この関数は、他の HRESULT 値を返す場合もあります。

備考

Microsoft Direct3D ランタイムは、グラフィックス コンテキストを作成するためにユーザー モード ディスプレイ ドライバーの CreateDevice または CreateDevice(D3D10) 関数 呼び出す前に、pfnQueryAdapterInfoCb を呼び出してグラフィックス ハードウェアに関する情報を取得する必要があります。 この順序は、マルチモニター システムでは特に重要です。

pfnQueryAdapterInfoCb 呼び出しでは、ユーザー モードディスプレイ ドライバーは、ディスプレイ ミニポート ドライバーが構成データを格納するバッファーを送信します。 この構成データを受信すると、ランタイムがユーザー モード ディスプレイ ドライバーの GetCaps および GetCaps(D3D10_2) 関数を呼び出すときに、ユーザー モード ディスプレイ ドライバーはその機能を正確に報告できます。 ランタイムは、その後、D3DDDI_DEVICEFUNCSD3D10DDI_DEVICEFUNCS、または D3D11DDI_DEVICEFUNCS 構造体で指定されている他のユーザー モード表示ドライバー関数を呼び出すと、ユーザー モードディスプレイ ドライバーは、ハードウェアで処理できるコマンド ストリームを生成できます。

次のコード例は、グラフィックス アダプター情報を取得する方法を示しています。

    HRESULT hr;
    // Query for GART segment support
    D3DDDICB_QUERYADAPTERINFO   ddiQueryAdapterInfo;

    memset(&R200AdapterInfo, 0, sizeof(R200AdapterInfo));

    ddiQueryAdapterInfo.pPrivateDriverData = &R200AdapterInfo;
    ddiQueryAdapterInfo.PrivateDriverDataSize = sizeof(R200AdapterInfo);

    hr = m_Callbacks.pfnQueryAdapterInfoCb(m_hAdapter, &ddiQueryAdapterInfo);
    if (FAILED(hr)) {
        return FALSE;
    }

    m_ulGartSupported = R200AdapterInfo.ulGartSupported;

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

CreateDevice

CreateDevice(D3D10)

D3D10DDI_DEVICEFUNCS

D3D11DDI_DEVICEFUNCS

D3DDDICB_QUERYADAPTERINFO

D3DDDI_ADAPTERCALLBACKS

D3DDDI_DEVICEFUNCS

GetCaps