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

# CreateCommittedResource2 (consoles XBOX Series)

> Crée à la fois une ressource et un tas, de sorte que le tas soit suffisamment grand pour contenir la ressource entière, et que la ressource soit mappée au tas.

Crée à la fois une ressource et un tas, de sorte que le tas soit suffisamment grand pour contenir la ressource entière, et que la ressource soit mappée au tas.

## Syntaxe

```cpp theme={null}
HRESULT CreateCommittedResource2(  
         const D3D12_HEAP_PROPERTIES* pHeapProperties,  
         D3D12_HEAP_FLAGS HeapFlags,  
         const D3D12_RESOURCE_DESC1* pDesc,  
         D3D12_RESOURCE_STATES InitialResourceState,  
         const D3D12_CLEAR_VALUE* pOptimizedClearValue,  
         ID3D12ProtectedResourceSession* pProtectedSession,  
         REFIID riidResource,  
         void** ppvResource  
)  
```

### Paramètres

*pHeapProperties*   \_In\_\
Type : D3D12\_HEAP\_PROPERTIES\*

Pointeur vers une structure D3D12\_HEAP\_PROPERTIES qui fournit les propriétés du tas de la ressource.

*HeapFlags*   \
Type : [D3D12\_HEAP\_FLAGS](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_heap_flags)

Options du tas, sous forme de combinaison d'opérations OR au niveau du bit de constantes d'énumération D3D12\_HEAP\_FLAGS.

*pDesc*   \_In\_\
Type : [D3D12\_RESOURCE\_DESC1\*](/fr-CA/reference/graphics/d3d12_xs/structs/d3d12_resource_desc1)

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

*InitialResourceState*   \
Type : [D3D12\_RESOURCE\_STATES](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_states)

État initial de la ressource, sous forme de combinaison d'opérations OR au niveau du bit de constantes d'énumération D3D12\_RESOURCE\_STATES.

Lorsque vous créez une ressource avec un tas D3D12\_HEAP\_TYPE\_UPLOAD, vous devez définir InitialResourceState sur D3D12\_RESOURCE\_STATE\_GENERIC\_READ.

Lorsque vous créez une ressource avec un tas D3D12\_HEAP\_TYPE\_READBACK, vous devez définir InitialResourceState sur D3D12\_RESOURCE\_STATE\_COPY\_DEST.

*pOptimizedClearValue*   \_In\_opt\_\
Type : 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 avec l'indicateur D3D12\_RESOURCE\_FLAG\_ALLOW\_RENDER\_TARGET ou D3D12\_RESOURCE\_FLAG\_ALLOW\_DEPTH\_STENCIL, vous devez choisir la valeur avec laquelle l'opération d'effacement sera le plus souvent appelée. Vous pouvez appeler l'opération d'effacement 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.

Lorsque vous utilisez D3D12\_RESOURCE\_DIMENSION\_BUFFER, vous devez définir pOptimizedClearValue sur nullptr.

*pProtectedSession*   \_In\_opt\_\
Type : ID3D12ProtectedResourceSession\*

Pointeur facultatif vers un objet qui représente une session de protection du contenu. Non pris en charge sur XBOX; doit être NULL.

*riidResource*   \_In\_\
Type : REFIID

Référence à l'identificateur global unique (GUID) de l'interface de ressource à retourner dans ppvResource.

Bien que riidResource soit le plus souvent le GUID de ID3D12Resource, il peut s'agir du 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*   \_COM\_Outptr\_\
Type : void\*\*

Pointeur facultatif vers un bloc de mémoire qui reçoit le pointeur d'interface demandé vers l'objet ressource créé.

ppvResource peut être nullptr, afin de permettre le test des capacités. Lorsque ppvResource est nullptr, aucun objet n'est créé, et S\_FALSE est retourné lorsque pDesc est valide.

### Valeur de retour

Type : HRESULT

Si la fonction réussit, elle retourne S\_OK. Sinon, elle retourne un code d'erreur HRESULT.

| Valeur de retour | Description |
| - | - |
| E\_OUTOFMEMORY | La mémoire est insuffisante pour créer la ressource. |

Consultez les codes de retour Direct3D 12 pour connaître les autres valeurs de retour possibles.

## Remarques

Cette méthode crée à la fois une ressource et un tas, de sorte que le tas soit suffisamment grand pour contenir la ressource entière, et que la ressource soit mappée au tas. Le tas créé est appelé tas implicite, car l'objet tas ne peut pas être obtenu par l'application. Avant de libérer la dernière référence à la ressource, votre application doit s'assurer que le GPU ne lira plus et n'écrira plus dans cette ressource.

Le tas implicite est rendu résident pour l'accès GPU avant que la méthode ne rende le contrôle à votre application. Consultez également Résidence.

Le mappage d'adresse virtuelle GPU de la ressource ne peut pas être modifié.

Cette méthode peut être appelée simultanément par plusieurs threads.

## Configuration requise

**En-tête :** d3d12\_xs.h

**Bibliothèque :** d3d12\_xs.lib\
**Plateformes prises en charge** : consoles XBOX Series

## Voir aussi

[Vue d'ensemble de l'API Direct3D 12 de rétroaction de l'échantillonneur](https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/graphics/newfeatures/sfs/sf-api-design)

[ID3D12Device8](/fr-CA/reference/graphics/d3d12_xs/interfaces/ID3D12Device8/id3d12device8)


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [CreateReservedResource2 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createreservedresource2_public.md)
- [CreatePlacedResource2 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
- [CreateCommittedResource3 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createcommittedresource3_public.md)
- [CreateCommittedResource1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
