> ## 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.

# CreatePlacedResource2 (consolas XBOX Series)

> ID3D12Device10::CreatePlacedResource2 crea un recurso colocado en un montón en Direct3D 12 de las consolas XBOX Series, con parámetros ampliados con respecto a la API original.

Crea un recurso que se coloca en un montón específico. Los recursos colocados son los objetos de recurso más ligeros disponibles y los más rápidos de crear y destruir.

Su aplicación puede reutilizar la memoria de vídeo superponiendo varios recursos colocados y reservados de Direct3D en regiones del montón. El modelo simple de reutilización de memoria (descrito en [Comentarios](#remarks)) existe para aclarar qué recurso superpuesto es válido en un momento dado. Para maximizar la compatibilidad con las herramientas de gráficos, con el modelo simple no se admite la herencia de datos; y no se admite la invalidación más pormenorizada de mosaicos y subrecursos. Solo se produce la invalidación completa de recursos superpuestos.

Requiere DirectX 12 Agility SDK 1.7 o posterior.

## Sintaxis

```cpp theme={null}
HRESULT CreatePlacedResource2(
    ID3D12Heap  pHeap,
    UINT64 HeapOffset,
    const D3D12_RESOURCE_DESC1  pDesc,
    D3D12_BARRIER_LAYOUT InitialLayout,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    UINT32 NumCastableFormats,
    DXGI_FORMAT  pCastableFormats,
    const IID & riid,
    void  ppvResource
)
```

### Parámetros

*pHeap*\
Tipo: ID3D12Heap \*

Un puntero a la interfaz **ID3D12Heap** que representa el montón en el que se coloca el recurso.

*HeapOffset*\
Tipo: UINT64

El desplazamiento, en bytes, hasta el recurso. El *HeapOffset* debe ser un múltiplo de la alineación del recurso, y *HeapOffset* más el tamaño del recurso debe ser menor o igual que el tamaño del montón. Debe usarse [**GetResourceAllocationInfo**](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public) para conocer los tamaños de los recursos de textura.

*pDesc*\
Tipo: const D3D12\_RESOURCE\_DESC1 \*

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

*InitialLayout*\
Tipo: D3D12\_BARRIER\_LAYOUT

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

*pOptimizedClearValue*\
Tipo: const D3D12\_CLEAR\_VALUE \*

Especifica un **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** o **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL**, la aplicación debe elegir el valor con el que se llamará más comúnmente a la operación de borrado.

Se puede llamar a las operaciones 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.

*pOptimizedClearValue* debe ser NULL cuando se usa con **D3D12\_RESOURCE\_DIMENSION\_BUFFER**.

*NumCastableFormats*\
Tipo: UINT32

El número de elementos de *pCastableFormats*.

*pCastableFormats*\
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*\
Tipo: const IID &

El identificador único global (**GUID**) de la interfaz del recurso. Este es un parámetro de entrada.

El **REFIID**, o **GUID**, de la interfaz del recurso se puede obtener mediante la macro `__uuidof`. Por ejemplo, `__uuidof(ID3D12Resource)` obtiene el **GUID** de la interfaz de un recurso. Aunque **riid** suele ser el GUID de [**ID3D12Resource**](/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs), puede ser cualquier **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*\
Tipo: void \*\*

Un puntero a un bloque de memoria que recibe un puntero al recurso. *ppvResource* puede ser NULL, para permitir la comprobación de capacidades. Cuando *ppvResource* es NULL, no se creará ningún objeto y se devolverá S\_FALSE cuando *pResourceDesc* y los demás parámetros sean válidos.

### Valor devuelto

Tipo: HRESULT

Este método devuelve **E\_OUTOFMEMORY** si 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::CreatePlacedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public).

## Requisitos

**Encabezado:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatibles**: consolas XBOX Series

## Consulte también

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

[CreateReservedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public)

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

[Montones compartidos](https://learn.microsoft.com/en-us/windows/win32/direct3d12/shared-heaps)


## Related topics

- [CreateReservedResource2 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_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)
