次の方法で共有


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
ターゲット プラットフォーム ウィンドウズ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS2

D3DDDI_DEVICECALLBACKS

pfnOfferResources する

pfnReclaimAllocations3Cb する