ID3D12Device3::OpenExistingHeapFromFileMapping 方法 (d3d12.h)
从文件映射对象在系统内存中创建一个特殊用途诊断堆。 即使出现 GPU 故障或设备删除的情况,创建的堆也可以保留。
语法
HRESULT OpenExistingHeapFromFileMapping(
HANDLE hFileMapping,
REFIID riid,
[out] void **ppvHeap
);
参数
hFileMapping
类型: 句柄
用于创建堆的文件映射对象的句柄。
riid
类型: REFIID
堆接口的全局唯一标识符 (GUID) id3D12Heap) (。
可以使用 __uuidof () 宏获取堆接口的 REFIID 或 GUID。 例如, __uuidof (ID3D12Heap) 将检索到堆接口的 GUID 。
[out] ppvHeap
类型: void**
SAL: COM_Outptr
指向内存块的指针。 成功后,D3D12 运行时会将指向新打开的堆的指针写入内存块。 指针的类型取决于提供的 riid 参数。
返回值
类型: HRESULT
如果内存不足,无法打开现有堆,此方法将返回 E_OUTOFMEMORY 。 有关其他可能的返回值,请参阅 Direct3D 12 返回代码 。
备注
堆是在系统内存中创建的,它允许 CPU 访问。 它包装整个 VirtualAlloc 区域。
堆可以像其他堆一样用于放置和保留的资源。 可能仍存在基于无法应用选择的标志的限制。
要求
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
目标平台 | Windows |
标头 | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |