次の方法で共有


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 パラメーターを介して、surface--via は pData パラメーターを使用します。

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

要件

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

こちらもご覧ください

D3DDDIARG_RESOLVESHAREDRESOURCE

D3DDDI_DEVICEFUNCS