次の方法で共有


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

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

構文

PFND3DDDI_OFFERALLOCATIONSCB Pfnd3dddiOfferallocationscb;

HRESULT Pfnd3dddiOfferallocationscb(
  HANDLE hDevice,
  const D3DDDICB_OFFERALLOCATIONS *unnamedParam2
)
{...}

パラメーター

hDevice

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

unnamedParam2

pData [in]

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

戻り値

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

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

備考

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

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

必要条件

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

関連項目

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS

D3DDDI_DEVICECALLBACKS

pfnOfferResources する

pfnReclaimAllocationsCb する