PFND3DDDI_DEALLOCATE2CB回调函数 (d3dumddi.h)

pfnDeallocate2Cb 用户模式回调函数在创建资源对象时释放内核模式资源对象的分配。

pfnDeallocate2CbpfnDeallocateCb 的替代项,该 标志 成员。 当 标志 设置为所有零时,行为等效于 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 调用返回之前回收分配内存(例如,若要在重新创建图面时尽量减少峰值内存使用量),则应设置 SyncDestroy 标志。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
目标平台 桌面
标头 d3dumddi.h (包括 D3dumddi.h)

另请参阅

D3DDDICB_DEALLOCATE2

pfnDeallocateCb