ID3D12Device3::OpenExistingHeapFromFileMapping 方法 (d3d12.h)

从文件映射对象在系统内存中创建一个特殊用途诊断堆。 即使出现 GPU 故障或设备删除的情况,创建的堆也可以保留。

语法

HRESULT OpenExistingHeapFromFileMapping(
        HANDLE hFileMapping,
        REFIID riid,
  [out] void   **ppvHeap
);

参数

hFileMapping

类型: 句柄

用于创建堆的文件映射对象的句柄。

riid

类型: REFIID

堆接口的全局唯一标识符 (GUID) id3D12Heap) (。

可以使用 __uuidof () 宏获取堆接口的 REFIIDGUID。 例如, __uuidof (ID3D12Heap) 将检索到堆接口的 GUID

[out] ppvHeap

类型: void**

SALCOM_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

另请参阅

ID3D12Device3 接口