Compartir a través de


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 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 estar protegido. 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 la GUID de de ID3D12Heap, puede ser la GUID de cualquier interfaz. Si el objeto de recurso no admite la interfaz para esta 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 se puede 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 error HRESULT.

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.

Observaciones

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

Requisito Valor
cliente mínimo admitido Compilación 20348 de Windows 10
servidor mínimo admitido Compilación 20348 de Windows 10
de la plataforma de destino de Windows
encabezado de d3d12.h
biblioteca de d3d12.lib
DLL de d3d12.dll