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 时将 AssumeNotInUse 标志设置为 TRUE 来指示 VidMm 不要等待挂起命令完成。

例如,如果应用程序或 UMD 想要确保在从 pfnDeallocate2Cb 调用 (返回之前回收分配内存,以便在) 重新创建图面时最大程度地减少峰值内存使用量,则应设置 SynchronousDestroy 标志。

要求

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

另请参阅

D3DDDICB_DEALLOCATE2

pfnDeallocateCb