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) |