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

# CreateReservedResource2 (consolas XBOX Series)

> CreateReservedResource2 de ID3D12Device10 crea un recurso reservado de D3D12 con un diseño inicial, aún no asignado a ninguna página del montón, en las consolas XBOX Series.

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

Requiere DirectX 12 Agility SDK 1.7 o posterior.

## Sintaxis

```cpp theme={null}
HRESULT CreateReservedResource2(
    const D3D12_RESOURCE_DESC  pDesc,
    D3D12_BARRIER_LAYOUT InitialLayout,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    ID3D12ProtectedResourceSession  pProtectedSession,
    UINT32 NumCastableFormats,
    DXGI_FORMAT  pCastableFormats,
    const IID & riid,
    void  ppvResource
)
```

### Parámetros

*pDesc*<br />Tipo: const D3D12\_RESOURCE\_DESC \*

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

*InitialLayout*<br />Tipo: D3D12\_BARRIER\_LAYOUT

El diseño inicial del recurso de textura; **D3D12\_BARRIER\_LAYOUT::D3D12\_BARRIER\_LAYOUT\_UNDEFINED** para los búferes.

*pOptimizedClearValue*<br />Tipo: const D3D12\_CLEAR\_VALUE \*

Especifica una estructura **D3D12\_CLEAR\_VALUE** que describe el valor predeterminado de 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](/reference/graphics/d3d12_x/enums/d3d12_resource_flags) o **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL**, debe elegir el valor con el que se llamará más comúnmente 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ó en la creación del recurso.

Cuando use [D3D12\_RESOURCE\_DIMENSION\_BUFFER](/reference/graphics/d3d12_x/enums/d3d12_resource_dimension), debe establecer *pOptimizedClearValue* en `nullptr`.

*pProtectedSession*<br />Tipo: ID3D12ProtectedResourceSession \*

Un 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 recurso debe estar protegido. Puede obtener un **ID3D12ProtectedResourceSession** llamando a [ID3D12Device4::CreateProtectedResourceSession](/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public).

*NumCastableFormats*<br />Tipo: UINT32

El número de elementos de *pCastableFormats*.

*pCastableFormats*<br />Tipo: DXGI\_FORMAT \*

Una matriz contigua de estructuras [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) a las que se puede convertir este recurso.

*riid \[in]*<br />Tipo: const IID &

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

Aunque *riidResource* suele ser el **GUID** de [ID3D12Resource](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs), puede ser el **GUID** de cualquier interfaz. Si el objeto de recurso no admite la interfaz de este **GUID**, la creación produce un error **E\_NOINTERFACE**.

*ppvResource*<br />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 permitir la comprobación de capacidades. 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 valores devueltos posibles.

## Comentarios

Consulte los **Comentarios** de [ID3D12Device.CreateReservedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public).

## Requisitos

**Encabezado:** d3d12\_xs.h<br />**Biblioteca:** d3d12\_xs.lib<br />**Plataformas compatibles**: consolas XBOX Series

## Consulte también

[CreateCommittedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public)

[CreatePlacedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public)

[ID3D12Device10](/reference/graphics/d3d12/interfaces/id3d12device10/id3d12device10_public)


## Related topics

- [CreatePlacedResource2 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
- [CreateReservedResource1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreateHeap1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [CreateMetaCommand (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createmetacommand_public.md)
- [CreateCommandList1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
