> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateReservedResource

> Crea un recurso D3D12 reservado que aún no está asignado a ninguna página de montón, para usarlo con recursos en mosaico en las consolas XBOX Series mediante ID3D12Device.

Crea un recurso que está reservado y que aún no está asignado a ninguna página de un montón.

## Sintaxis

```cpp theme={null}
HRESULT CreateReservedResource(
    const D3D12_RESOURCE_DESC  pDesc,
    D3D12_RESOURCE_STATES InitialState,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    const IID & riid,
    void  ppvResource
)
```

### Parámetros

*pDesc \[in]*\
Tipo: const D3D12\_RESOURCE\_DESC \*

Un puntero a una estructura **D3D12\_RESOURCE\_DESC** que describe el recurso.

*InitialState \[in]*\
Tipo: D3D12\_RESOURCE\_STATES

El estado inicial del recurso, como una combinación con OR bit a bit de constantes de la enumeración **D3D12\_RESOURCE\_STATES**.

*pOptimizedClearValue \[in, optional]*\
Tipo: const D3D12\_CLEAR\_VALUE \*

Especifica una estructura **D3D12\_CLEAR\_VALUE** que describe el valor predeterminado para un color de borrado.

*pOptimizedClearValue* especifica un valor para el que las operaciones de borrado son más óptimas. Cuando el recurso creado es una textura con las marcas [D3D12\_RESOURCE\_FLAG\_ALLOW\_RENDER\_TARGET](https://docs.xbox.com/es/reference/graphics/d3d12_x/enums/d3d12_resource_flags.md) o **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL**, debe elegir el valor con el que se llamará más habitualmente a la operación de borrado. Puede llamar a la operación de borrado con otros valores, pero esas operaciones no serán tan eficientes como cuando el valor coincide con el que se pasó al crear el recurso.

Cuando use [D3D12\_RESOURCE\_DIMENSION\_BUFFER](https://docs.xbox.com/es/reference/graphics/d3d12_x/enums/d3d12_resource_dimension.md), debe establecer *pOptimizedClearValue* en `nullptr`.

*riid \[in]*\
Tipo: const IID &

Una referencia al identificador único global (**GUID**) de la interfaz del recurso que se devolverá en *ppvResource*. Consulte **Comentarios**.

Aunque *riidResource* es más habitualmente el **GUID** de [ID3D12Resource](https://docs.xbox.com/es/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs.md), puede ser el **GUID** de cualquier interfaz. Si el objeto de recurso no admite la interfaz de este **GUID**, la creación falla con **E\_NOINTERFACE**.

*ppvResource \[out, optional]*\
Tipo: void \*\*

Un puntero opcional a un bloque de memoria que recibe el puntero de interfaz solicitado al objeto de recurso creado.

*ppvResource* puede ser `nullptr`, para habilitar las pruebas de capacidad. Cuando *ppvResource* 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](https://learn.microsoft.com/en-us/windows/win32/com/com-error-codes-10) [**HRESULT**](https://learn.microsoft.com/en-us/windows/win32/com/structure-of-com-error-codes).

| Valor devuelto | Descripción |
| - | - |
| E\_OUTOFMEMORY | No hay memoria suficiente para crear el recurso. |

Consulte [Códigos de retorno de Direct3D 12](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) para conocer otros posibles valores devueltos.

## Comentarios

**CreateReservedResource** es equivalente a [D3D11\_RESOURCE\_MISC\_TILED](https://learn.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_resource_misc_flag) en Direct3D 11. Crea un recurso solo con memoria virtual, sin almacén de respaldo.

Debe asignar el recurso a la memoria física (es decir, a un montón) mediante [CopyTileMappings](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_copytilemappings_public.md) y [UpdateTileMappings](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public.md).

Estos tipos de recursos solo pueden crearse cuando el adaptador admite el nivel 1 o superior de recursos en mosaico. El nivel de recursos en mosaico define el comportamiento del acceso a un recurso que no está asignado a un montón.

## Requisitos

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

[CreateCommittedResource](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)

[CreatePlacedResource](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public.md)

[ID3D12Device](https://docs.xbox.com/es/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device.md)


## Related topics

- [CreateReservedResource2 (consolas XBOX Series)](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource1 (consolas XBOX Series)](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreatePlacedResource](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public.md)
- [CreateCommittedResource](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreatePlacedResource2 (consolas XBOX Series)](https://docs.xbox.com/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
