Метод ID3D12Device::CreateHeap (d3d12.h)

Создает кучу, которую можно использовать с размещенными и зарезервированными ресурсами.

Синтаксис

HRESULT CreateHeap(
  [in]            const D3D12_HEAP_DESC *pDesc,
  [in]            REFIID                riid,
  [out, optional] void                  **ppvHeap
);

Параметры

[in] pDesc

Тип: const D3D12_HEAP_DESC*

Указатель на константную D3D12_HEAP_DESC структуру, описывающую кучу.

[in] riid

Тип: REFIID

Ссылка на глобальный уникальный идентификатор (GUID) интерфейса кучи для возврата в ppvHeap.

Хотя riidResource чаще всего является GUIDID3D12Heap, это может быть GUID любого интерфейса. Если объект ресурса не поддерживает интерфейс для этого GUID, создание завершается сбоем с E_NOINTERFACE.

[out, optional] ppvHeap

Тип: void**

Необязательный указатель на блок памяти, который получает запрошенный указатель интерфейса на созданный объект кучи.

PpvHeap может иметь значение nullptr, чтобы включить тестирование возможностей. Если ppvHeap имеет значение nullptr, объект не создается, а S_FALSE возвращается, если pDesc является допустимым.

Возвращаемое значение

Тип: HRESULT

Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибкиHRESULT.

Возвращаемое значение Описание
E_OUTOFMEMORY Недостаточно памяти для создания кучи.

Другие возможные значения см. в разделе Коды возврата Direct3D 12 .

Комментарии

CreateHeap создает кучу, которую можно использовать с размещенными и зарезервированными ресурсами.

Перед выпуском окончательной ссылки в кучу приложение должно убедиться, что GPU больше не будет считывать или записывать данные в эту кучу.

Размещенный объект ресурса содержит ссылку на кучу, в которой он создан; но зарезервированный ресурс не содержит ссылку на каждое сопоставление, выполненное с кучей.

Требования

   
Целевая платформа Windows
Header d3d12.h
Библиотека D3D12.lib
DLL D3D12.dll

См. также раздел

ID3D12Device

Общие кучи