PFND3DDDI_OFFERALLOCATIONSCB回调函数 (d3dumddi.h)

由用户模式显示驱动程序调用,以提供视频内存分配以供重复使用。

语法

PFND3DDDI_OFFERALLOCATIONSCB Pfnd3dddiOfferallocationscb;

HRESULT Pfnd3dddiOfferallocationscb(
  HANDLE hDevice,
  const D3DDDICB_OFFERALLOCATIONS *unnamedParam2
)
{...}

参数

hDevice

显示设备的句柄 (图形上下文) 。 Direct3D 运行时在创建设备时将用户模式驱动程序此句柄作为D3DDDIARG_CREATEDEVICE结构的 hDevice 成员传递。

unnamedParam2

pData [in]

指向 D3DDDICB_OFFERALLOCATIONS 结构的指针,该结构定义驱动程序提供的视频内存分配。

返回值

返回以下值之一。

返回代码 说明
S_OK 已成功提供分配。
注意: 如果驱动程序不需要调用 pfnOfferAllocationsCb,则应返回S_OK。
D3DDDIERR_DEVICEREMOVED 视频内存管理器或显示微型端口驱动程序无法完成操作,因为发生了即插即用 (PnP) Stop 事件或超时检测和恢复 (TDR) 事件。
注意: 如果返回此错误代码,驱动程序的调用函数通常 (pfnOfferResources 例程) 必须将此错误代码返回到 Direct3D 运行时。
E_INVALIDARG 提供了无效的参数。

注解

用户模式显示驱动程序调用 pfnOfferAllocationsCb 以通知 Microsoft DirectX 图形内核子系统,在完成以前提交的任何呈现操作后,它可以提供分配的内存供其他进程使用。

在驱动程序调用 pfnOfferAllocationsCb 提供可重用的分配后,它必须先调用 pfnReclaimAllocationsCb ,然后才能锁定分配或提交该分配以进行呈现操作。

要求

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

另请参阅

D3DDDIARG_CREATEDEVICE

D3DDDICB_OFFERALLOCATIONS

D3DDDI_DEVICECALLBACKS

pfnOfferResources

pfnReclaimAllocationsCb