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:
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
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 |