PFND3DDDI_QUERYRESIDENCYCB コールバック関数 (d3dumddi.h)
pfnQueryResidencyCb 関数は、リソースまたは割り当てのリストの常駐状態を照会します。
構文
PFND3DDDI_QUERYRESIDENCYCB Pfnd3dddiQueryresidencycb;
HRESULT Pfnd3dddiQueryresidencycb(
HANDLE hDevice,
const D3DDDICB_QUERYRESIDENCY *unnamedParam2
)
{...}
パラメーター
hDevice
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
pData [in, out]
リソースまたは割り当ての一覧の常駐状態を記述する D3DDDICB_QUERYRESIDENCY 構造体へのポインター。
戻り値
pfnQueryResidencyCb は、次のいずれかの値を返します。
リターン コード | 形容 |
---|---|
S_OK | 所在地の状態が正常に返されました。 |
E_INVALIDARG | パラメーターが検証され、正しくないと判断されました。 |
この関数は、他の HRESULT 値を返す場合もあります。
備考
ユーザー モード ディスプレイ ドライバーは、pfnQueryResidencyCb 関数を呼び出して、リソースまたは割り当ての一覧を使用して、割り当ての常駐状態を照会できます。 ドライバーがリソースを介して割り当ての常駐状態を照会する場合、そのリソースに属するすべての割り当てが照会されます。 通常、ユーザー モード ディスプレイ ドライバーは、Microsoft Direct3D ランタイムがユーザー モード ディスプレイ ドライバーの QueryResourceResidency または QueryResourceResidencyDXGI 関数を呼び出してリソースの所在地を判断した後、リソースの常駐または割り当ての一覧を照会します。 ただし、ユーザー モードのディスプレイ ドライバーは、リソースの所在地または割り当ての一覧をいつでも照会できます。
例
次のコード例は、所在地の状態を照会する方法を示しています。
HRESULT
CD3DContext::QueryResourceResidency(CONST D3DDDIARG_QUERYRESOURCERESIDENCY* pQRR)
{
D3DDDICB_QUERYRESIDENCY queryRes;
D3DDDI_RESIDENCYSTATUS resStatus = (D3DDDI_RESIDENCYSTATUS)0;
HRESULT hr;
BOOL bPartInSharedMem = FALSE;
for (UINT i = 0; i < pQRR->NumResources; i++) {
memset(&queryRes, 0, sizeof(queryRes));
queryRes.hResource = m_RTbl[(DWORD)(DWORD_PTR)pQRR->pHandleList[i]].m_hResRuntime;
if (! queryRes.hResource) {
return (DDERR_INVALIDPARAMS);
}
queryRes.pResidencyStatus = &resStatus;
hr = m_d3dCallbacks.pfnQueryResidencyCb(m_hD3D, &queryRes);
if (FAILED(hr)) {
return (hr);
}
switch (resStatus) {
case D3DDDI_RESIDENCYSTATUS_NOTRESIDENT:
return S_NOT_RESIDENT;
case D3DDDI_RESIDENCYSTATUS_RESIDENTINSHAREDMEMORY:
bPartInSharedMem = TRUE;
break;
case D3DDDI_RESIDENCYSTATUS_RESIDENTINGPUMEMORY:
break;
default:
return DDERR_GENERIC;
}
}
if (bPartInSharedMem) {
return S_RESIDENT_IN_SHARED_MEMORY;
}
else {
return S_OK;
}
}
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |
関連項目
QueryResourceResidencyDXGI の