Share via


Método ID3D12Device4::CreateHeap1 (d3d12.h)

Crea un montón (opcionalmente para una sesión protegida) que se puede usar con recursos colocados y recursos reservados. Consulte también ID3D12Device::CreateHeap.

Sintaxis

HRESULT CreateHeap1(
  [in]            const D3D12_HEAP_DESC          *pDesc,
  [in, optional]  ID3D12ProtectedResourceSession *pProtectedSession,
  [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, optional] pProtectedSession

Tipo: ID3D12ProtectedResourceSession*

Puntero opcional a un objeto que representa una sesión para la protección de contenido. Si se proporciona, esta sesión indica que el montón debe protegerse. Puede obtener un ID3D12ProtectedResourceSession llamando a ID3D12Device4::CreateProtectedResourceSession.

No se puede crear un montón con una sesión protegida con la marca D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER .

[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

CreateHeap1 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

   
Cliente mínimo compatible Compilación 20348 de Windows 10
Servidor mínimo compatible Compilación 20348 de Windows 10
Plataforma de destino Windows
Encabezado d3d12.h
Library d3d12.lib
Archivo DLL d3d12.dll