ID3D12Device3::OpenExistingHeapFromFileMapping method (d3d12.h)

Creates a special-purpose diagnostic heap in system memory from a file mapping object. The created heap can persist even in the event of a GPU-fault or device-removed scenario.

Syntax

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

Parameters

hFileMapping

Type: HANDLE

The handle to the file mapping object to use to create the heap.

riid

Type: REFIID

The globally unique identifier (GUID) for the heap interface (ID3D12Heap).

The REFIID, or GUID, of the interface to the heap can be obtained by using the __uuidof() macro. For example, __uuidof(ID3D12Heap) will retrieve the GUID of the interface to a heap.

[out] ppvHeap

Type: void**

SAL: COM_Outptr

A pointer to a memory block. On success, the D3D12 runtime will write a pointer to the newly-opened heap into the memory block. The type of the pointer depends on the provided riid parameter.

Return value

Type: HRESULT

This method returns E_OUTOFMEMORY if there is insufficient memory to open the existing heap. See Direct3D 12 Return Codes for other possible return values.

Remarks

The heap is created in system memory, and it permits CPU access. It wraps the entire VirtualAlloc region.

Heaps can be used for placed and reserved resources, as orthogonally as other heaps. Restrictions may still exist based on the flags that cannot be app-chosen.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Target Platform Windows
Header d3d12.h
Library D3d12.lib
DLL D3d12.dll

See also

ID3D12Device3 interface