次の方法で共有


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

再利用のためにビデオ メモリ割り当てを提供するために、ユーザー モード ディスプレイ ドライバーによって呼び出されます。

構文

PFND3DDDI_OFFERALLOCATIONS2CB Pfnd3dddiOfferallocations2cb;

HRESULT Pfnd3dddiOfferallocations2cb(
  HANDLE hDevice,
  const D3DDDICB_OFFERALLOCATIONS2 *unnamedParam2
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。 Direct3D ランタイムは、デバイスの作成時に、このハンドルを D3DDDIARG_CREATEDEVICE 構造体の hDevice メンバーとしてユーザー モード ドライバーに渡しました。

unnamedParam2

pData [in]

ドライバーが提供するビデオ メモリの割り当てを定義する D3DDDICB_OFFERALLOCATIONS2 構造体へのポインター。

戻り値

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

リターン コード 説明
S_OK 割り当てが正常に提供されました。
メモ: ドライバーが pfnOfferAllocations2Cb を呼び出す必要がない場合は、S_OKを返す必要があります。
D3DDDIERR_DEVICEREMOVED ビデオ メモリ マネージャーまたはディスプレイ ミニポート ドライバーは、プラグ アンド プレイ (PnP) 停止イベントまたはタイムアウト検出と回復 (TDR) イベントが発生したため、操作を完了できませんでした。
メモ: このエラー コードが返された場合、ドライバーの呼び出し元関数 (通常は pfnOfferResources ルーチン) は、このエラー コードを Direct3D ランタイムに返す必要があります。
E_INVALIDARG 無効なパラメーターが指定されました。

注釈

ユーザー モード ディスプレイ ドライバーは pfnOfferAllocations2Cb を呼び出して、以前に送信されたレンダリング操作が完了した後、他のプロセスで使用する割り当てのメモリを提供できることを Microsoft DirectX グラフィックス カーネル サブシステムに通知します。

ドライバーは、再使用する割り当てを提供するために pfnOfferAllocations2Cb を呼び出した後、割り当てをロックするか、レンダリング操作のために送信する前に pfnReclaimAllocations3Cb を 呼び出す必要があります。

pfnOfferAllocations2Cb は、pData パラメーターを使用してフラグを考慮する点を除き、 pfnOfferAllocationsCb と同じ機能を持ちます。

要件

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

こちらもご覧ください

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS2

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocations3Cb