Compartir a través de


Método ID3D12Device::CreateHeap (d3d12.h)

Crea un montón que se puede usar con recursos colocados y recursos reservados.

Sintaxis

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

Parámetros

[in] pDesc

Tipo: const D3D12_HEAP_DESC*

Puntero a una estructura de D3D12_HEAP_DESC constante que describe el montón.

[in] riid

Tipo: REFIID

Referencia al identificador único global (GUID) de la interfaz del montón que se va a devolver en ppvHeap.

Aunque riidResource suele ser el GUID de ID3D12Heap, puede ser el GUID de cualquier interfaz. Si el objeto de recurso no admite la interfaz para este GUID, se produce un error en la creación con E_NOINTERFACE.

[out, optional] ppvHeap

Tipo: void**

Puntero opcional a un bloque de memoria que recibe el puntero de interfaz solicitado al objeto de montón creado.

ppvHeap puede ser nullptr, para habilitar las pruebas de funcionalidad. Cuando ppvHeap es nullptr, no se crea ningún objeto y se devuelve S_FALSE cuando pDesc es válido.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de errorHRESULT.

Valor devuelto Descripción
E_OUTOFMEMORY No hay memoria suficiente para crear el montón.

Consulte Códigos de retorno de Direct3D 12 para ver otros valores devueltos posibles.

Comentarios

CreateHeap crea un montón que se puede usar con recursos colocados y recursos reservados.

Antes de liberar la referencia final en el montón, la aplicación debe asegurarse de que la GPU ya no leerá ni escribirá en este montón.

Un objeto de recurso colocado contiene una referencia en el montón en el que se crea; pero un recurso reservado no contiene una referencia para cada asignación realizada a un montón.

Requisitos

   
Plataforma de destino Windows
Encabezado d3d12.h
Library D3D12.lib
Archivo DLL D3D12.dll

Consulte también

ID3D12Device

Montones compartidos