次の方法で共有


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

ResolveSharedResource 関数は、共有サーフェイスの所有権が変更されたこと、または GDI 相互運用に使用されているサーフェスをユーザー モードのディスプレイ ドライバーに通知します。

構文

PFND3DDDI_RESOLVESHAREDRESOURCE Pfnd3dddiResolvesharedresource;

HRESULT Pfnd3dddiResolvesharedresource(
  HANDLE hDevice,
  const D3DDDIARG_RESOLVESHAREDRESOURCE *unnamedParam2
)
{...}

パラメーター

hDevice

共有サーフェイスまたは GDI 相互運用可能なサーフェイスに関連付けられているディスプレイ デバイス (つまり、グラフィックス コンテキスト) へのハンドル。

unnamedParam2

pData [in]

サーフェスへのハンドルを含む D3DDDIARG_RESOLVESHAREDRESOURCE 構造体へのポインター。

戻り値

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

リターン コード 形容
S_OK リソースが正常に解決されました。
D3DDDIERR_DEVICEREMOVED ドライバーは、グラフィックス アダプターが削除されたことを検出します。 そのため、ドライバーは操作を完了しませんでした。 ドライバーがアダプターの削除条件に気付かない場合、ドライバーはこのエラー コードを返す必要はありません。

備考

Direct3D ランタイムは、アプリケーション 次のいずれかの関数を呼び出すときに ResolveSharedResource を呼び出します。

  • 同期された共有サーフェイスでの IDXGIKeyedMutex::ReleaseSynch
  • GDI 相互運用可能なサーフェイスの IDXGISurface1::GetDC
ランタイムは、共有サーフェス所有者が変更されるたびに、または GDI 相互運用にサーフェスが使用されるたびに、ドライバーの ResolveSharedResource 関数を呼び出します。 ランタイムは、の ResolveSharedResource に、hDevice パラメーターを介して、および pData パラメーターを介して、ディスプレイ デバイスへのハンドルを提供します。

ドライバーは、ResolveSharedResource を実装して、複数の GPU シナリオのリソースを適切に管理します。 各リソースは、レンダリングする複数の GPU のメモリ間で分割される場合があります。 ドライバーは、ResolveSharedResource を実装して、新しいリソース所有者がマージされたリソースを持つよう、各リソースを再マージできます。 ドライバーは、リソースを変更する可能性がある部分的に構築されたコマンド バッファーをフラッシュする必要があります。

必要条件

要件 価値
サポートされる最小クライアント ResolveSharedResource は、Windows 7 オペレーティング システム以降でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_RESOLVESHAREDRESOURCE

D3DDDI_DEVICEFUNCS