由用户模式显示驱动程序调用,以提供视频内存分配以供重复使用。
语法
PFND3DDDI_OFFERALLOCATIONSCB Pfnd3dddiOfferallocationscb;
HRESULT Pfnd3dddiOfferallocationscb(
HANDLE hDevice,
const D3DDDICB_OFFERALLOCATIONS *unnamedParam2
)
{...}
参数
hDevice
显示设备的句柄(图形上下文)。 Direct3D 运行时在创建设备时将用户模式驱动程序作为 hDeviceD3DDDIARG_CREATEDEVICE 成员传递给用户模式驱动程序。
unnamedParam2
pData [in]
指向 D3DDDICB_OFFERALLOCATIONS 结构的指针,用于定义驱动程序提供的视频内存分配。
返回值
返回以下值之一。
| 返回代码 | 说明 |
|---|---|
| S_OK | 已成功提供分配。 注意: 如果驱动程序不需要调用 pfnOfferAllocationsCb,它应返回S_OK。 |
| D3DDDIERR_DEVICEREMOVED | 视频内存管理器或显示微型端口驱动程序无法完成作,因为发生即插即用(PnP)停止事件或超时检测和恢复(TDR)事件。 注意: 如果返回此错误代码,驱动程序的调用函数(通常是 pfnOfferResources 例程)必须将此错误代码返回到 Direct3D 运行时。 |
| E_INVALIDARG | 提供了无效参数。 |
言论
用户模式显示驱动程序调用 pfnOfferAllocationsCb 来通知 Microsoft DirectX 图形内核子系统,在完成之前提交的任何呈现作后,它可以为要使用的其他进程提供分配的内存。
驱动程序调用 pfnOfferAllocationsCb 以提供可重用的分配后,必须先调用 pfnReclaimAllocationsCb,然后才能锁定分配或提交它以进行呈现作。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | Windows 8 |
| 支持的最低服务器 | Windows Server 2012 |
| 目标平台 | 桌面 |
| 标头 | d3dumddi.h (包括 D3dumddi.h) |