> ## 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 sur Direct3D 12 pour 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 placées et réservées Direct3D sur des régions de tas. Le modèle simple de réutilisation de la mémoire (décrit dans [Remarques](#remarks)) existe pour clarifier quelle ressource superposée est valide à un moment donné. Pour maximiser la prise en charge par les outils graphiques, le modèle simple ne prend pas en charge l'héritage des 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 une 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 \*

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

*HeapOffset*\
Type : UINT64

Le décalage, en octets, vers 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-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getresourceallocationinfo_public) doit être utilisée pour connaître la taille des ressources de texture.

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

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

*InitialLayout*\
Type : D3D12\_BARRIER\_LAYOUT

La 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 une structure **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 comportant 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 passée lors de la création de la ressource.

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

*NumCastableFormats*\
Type : UINT32

Le nombre d'éléments dans *pCastableFormats*.

*pCastableFormats*\
Type : DXGI\_FORMAT \*

Un 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 &

L'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 de la ressource peut être obtenu à l'aide de la macro `__uuidof`. Par exemple, `__uuidof(ID3D12Resource)` obtient le **GUID** de l'interface d'une ressource. Bien que **riid** soit le plus souvent le GUID de [**ID3D12Resource**](/fr-CA/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 \*\*

Un 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 retourné lorsque *pResourceDesc* et les autres paramètres sont valides.

### Valeur de retour

Type : HRESULT

Cette méthode retourne **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 la section **Remarques** de [ID3D12Device::CreatePlacedResource](/fr-CA/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-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public)

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

[ID3D12Device10](/fr-CA/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-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreateReservedResource1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.md)
- [CreateHeap1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
- [CreateMetaCommand (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_createmetacommand_public.md)
- [CreateCommandList1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommandlist1_public.md)
