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

pfnDeallocate2Cb ユーザー モード コールバック関数は、リソース オブジェクトが作成された場合にカーネル モード リソース オブジェクトの割り当てを解放します。

pfnDeallocate2Cb は、追加の Flags メンバーを持つ pfnDeallocateCb に代わるものです。 Flags がゼロすべてに設定されている場合、動作は pfnDeallocateCb と同じです。

構文

PFND3DDDI_DEALLOCATE2CB Pfnd3dddiDeallocate2cb;

HRESULT Pfnd3dddiDeallocate2cb(
  HANDLE hDevice,
  const D3DDDICB_DEALLOCATE2 *unnamedParam2
)
{...}

パラメーター

hDevice

ディスプレイ デバイス (グラフィックス コンテキスト) へのハンドル。

unnamedParam2

pData [in]

解放するリソースを記述する D3DDDICB_DEALLOCATE2 構造体へのポインター。

戻り値

リターン コード 説明
S_OK メモリが正常に解放されました。
E_INVALIDARG パラメーターが検証され、正しくないと判断されました。

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

注釈

割り当て破棄要求を受信すると、VidMm は既定では、破棄要求の前にキューに登録されたコマンドが破棄される割り当てにアクセスし、キューに登録されたコマンドが完了するまで破棄操作を延期すると想定します。 保留中のコマンドが破棄される割り当てにアクセスしないことをユーザー モード ドライバー (UMD) が認識している場合は、pfnDeallocate2Cb を呼び出すときに AssumeNotInUse フラグを TRUE に設定することで、保留中のコマンドが完了するまで待機しないように VidMm に指示できます。

アプリケーションまたは UMD が 、pfnDeallocate2Cb 呼び出しから戻る前に割り当てメモリが確実に再利用されるようにする場合 (たとえば、サーフェスが再作成される場合にピーク メモリ使用量を最小限に抑えるために)、 SynchronousDestroy フラグを設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows 10
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム デスクトップ
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

D3DDDICB_DEALLOCATE2

pfnDeallocateCb