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)

另请参阅

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS2

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocations3Cb