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) Stop 事件或超时检测和恢复 (TDR) 事件。 注意: 如果返回此错误代码,驱动程序的调用函数通常 (pfnOfferResources 例程) 必须将此错误代码返回到 Direct3D 运行时。 |
E_INVALIDARG | 提供的参数无效。 |
注解
用户模式显示驱动程序调用 pfnOfferAllocations2Cb 以通知 Microsoft DirectX 图形内核子系统,在完成之前提交的任何呈现操作后,它可以提供分配的内存供其他进程使用。
在驱动程序调用 pfnOfferAllocations2Cb 以提供可重用的分配后,它必须调用 pfnReclaimAllocations3Cb ,然后才能锁定分配或提交它以进行呈现操作。
pfnOfferAllocations2Cb 的函数与 pfnOfferAllocationsCb 相同,只是它通过 pData 参数考虑了标志。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | d3dumddi.h (包括 D3dumddi.h) |