> ## 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 (consoles XBOX Series)

> ID3D12Device10::CreatePlacedResource2 crée une ressource placée dans un tas sous Direct3D 12 sur les consoles XBOX Series, avec des paramètres étendus par rapport à l'API d'origine.

Crée une ressource placée dans un tas spécifique. Les ressources placées sont les objets ressources les plus légers disponibles, et ce sont les plus rapides à créer et à détruire.

Votre application peut réutiliser la mémoire vidéo en superposant plusieurs ressources Direct3D placées et réservées sur des régions de tas. Le modèle simple de réutilisation de la mémoire (décrit dans [Remarques](#remarks)) permet de clarifier quelle ressource superposée est valide à un moment donné. Afin d'optimiser la prise en charge par les outils graphiques, le modèle simple ne prend pas en charge l'héritage de données, ni l'invalidation plus fine des tuiles et des sous-ressources. Seule l'invalidation complète des ressources superposées se produit.

Nécessite le DirectX 12 Agility SDK 1.7 ou version ultérieure.

## Syntaxe

```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
)
```

### Paramètres

*pHeap*\
Type : ID3D12Heap \*

Pointeur vers l'interface **ID3D12Heap** qui représente le tas dans lequel la ressource est placée.

*HeapOffset*\
Type : UINT64

Décalage, en octets, de la ressource. *HeapOffset* doit être un multiple de l'alignement de la ressource, et *HeapOffset* plus la taille de la ressource doit être inférieur ou égal à la taille du tas. [**GetResourceAllocationInfo**](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public) doit être utilisé pour connaître la taille des ressources de texture.

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

Pointeur vers une structure **D3D12\_RESOURCE\_DESC** qui décrit la ressource.

*InitialLayout*\
Type : D3D12\_BARRIER\_LAYOUT

Disposition initiale de la ressource de texture ; **D3D12\_BARRIER\_LAYOUT::D3D12\_BARRIER\_LAYOUT\_UNDEFINED** pour les mémoires tampons.

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

Spécifie un **D3D12\_CLEAR\_VALUE** qui décrit la valeur par défaut d'une couleur d'effacement.

*pOptimizedClearValue* spécifie une valeur pour laquelle les opérations d'effacement sont les plus optimales. Lorsque la ressource créée est une texture avec l'indicateur **D3D12\_RESOURCE\_FLAG\_ALLOW\_RENDER\_TARGET** ou **D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL**, votre application doit choisir la valeur avec laquelle l'opération d'effacement sera le plus souvent appelée.

Les opérations d'effacement peuvent être appelées avec d'autres valeurs, mais ces opérations ne seront pas aussi efficaces que lorsque la valeur correspond à celle transmise lors de la création de la ressource.

*pOptimizedClearValue* doit être NULL lorsqu'il est utilisé avec **D3D12\_RESOURCE\_DIMENSION\_BUFFER**.

*NumCastableFormats*\
Type : UINT32

Nombre d'éléments dans *pCastableFormats*.

*pCastableFormats*\
Type : DXGI\_FORMAT \*

Tableau contigu de structures [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) vers lesquelles cette ressource peut être convertie.

*riid*\
Type : const IID &

Identificateur global unique (**GUID**) de l'interface de ressource. Il s'agit d'un paramètre d'entrée.

Le **REFIID**, ou **GUID**, de l'interface vers la ressource peut être obtenu à l'aide de la macro `__uuidof`. Par exemple, `__uuidof(ID3D12Resource)` obtient le **GUID** de l'interface vers une ressource. Bien que **riid** soit le plus souvent le GUID de [**ID3D12Resource**](/fr/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs), il peut s'agir de n'importe quel **GUID** de n'importe quelle interface. Si l'objet ressource ne prend pas en charge l'interface correspondant à ce **GUID**, la création échoue avec **E\_NOINTERFACE**.

*ppvResource*\
Type : void \*\*

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers la ressource. *ppvResource* peut être NULL, afin de permettre le test des capacités. Lorsque *ppvResource* est NULL, aucun objet n'est créé et S\_FALSE est renvoyé si *pResourceDesc* et les autres paramètres sont valides.

### Valeur renvoyée

Type : HRESULT

Cette méthode renvoie **E\_OUTOFMEMORY** si la mémoire est insuffisante pour créer la ressource. Consultez [Codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/win32/direct3d12/d3d12-graphics-reference-returnvalues) pour connaître les autres valeurs de retour possibles.

## Remarques

Consultez les **Remarques** de [ID3D12Device::CreatePlacedResource](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public).

## Configuration requise

**En-tête :** d3d12\_xs.h\
**Bibliothèque :** d3d12\_xs.lib\
**Plateformes prises en charge** : consoles XBOX Series

## Voir aussi

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

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

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

[Tas partagés](https://learn.microsoft.com/en-us/windows/win32/direct3d12/shared-heaps)


## Related topics

- [CreateReservedResource2 (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource1 (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreateHeap1 (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [CreateCommandList1 (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
- [CreateMetaCommand (consoles XBOX Series)](/fr/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createmetacommand_public.md)
