次の方法で共有


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 を呼び出すときに true する AssumeNotInUse フラグを設定することで、保留中のコマンドが完了するまで待機しないように VidMm に指示できます。

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

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDICB_DEALLOCATE2

pfnDeallocateCb