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

# CreateCommittedResourceX (famille XBOX One)

> Crée à la fois une ressource et un tas implicite suffisamment grand pour contenir toute la ressource. La ressource est mappée au tas.

Crée à la fois une ressource et un tas implicite suffisamment grand pour contenir toute la ressource. La ressource est mappée au tas.

## Syntaxe

```cpp theme={null}
HRESULT CreateCommittedResourceX(  
         const D3D12_HEAP_PROPERTIES* pHeapProperties,  
         D3D12_HEAP_FLAGS HeapFlags,  
         const D3D12XBOX_RESOURCE_DESC* pResourceDesc,  
         D3D12_RESOURCE_STATES InitialState,  
         const D3D12_CLEAR_VALUE* pOptimizedClearValue,  
         REFIID riidResource,  
         void** ppvResource  
)  
```

### Paramètres

*pHeapProperties*   \_In\_<br />Type : [D3D12\_HEAP\_PROPERTIES\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_heap_properties)

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

*HeapFlags*   <br />Type : [D3D12\_HEAP\_FLAGS](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_heap_flags)

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

*pResourceDesc*   \_In\_<br />Type : [D3D12XBOX\_RESOURCE\_DESC\*](/fr-CA/reference/graphics/d3d12_x/structs/d3d12xbox_resource_desc)

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

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

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

Lorsqu'une ressource est créée avec un tas **D3D12\_HEAP\_TYPE\_UPLOAD**, *InitialState* doit être **D3D\_RESOURCE\_STATE\_GENERIC\_READ**. Lorsqu'une ressource est créée avec un tas **D3D12\_HEAP\_TYPE\_READBACK**, *InitialState* doit être **D3D12\_RESOURCE\_STATE\_COPY\_DEST**.

*pOptimizedClearValue*   \_In\_opt\_<br />Type : [D3D12\_CLEAR\_VALUE\*](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12/ns-d3d12-d3d12_clear_value)

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

*riidResource*   <br />Type : REFIID

L'identificateur global unique (GUID) de l'interface de ressource. Il s'agit d'un paramètre d'entrée. Pour récupérer le [REFIID](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-oaut/bbde795f-5398-42d8-9f59-3613da03c318) (ou GUID) de l'interface de la file d'attente de commandes, utilisez la macro [\_\_uuidof()](https://learn.microsoft.com/en-us/cpp/cpp/uuidof-operator?view=vs-2019). Par exemple, pour obtenir le GUID de l'interface d'une ressource :

```cpp theme={null}
__uuidof(ID3D12Resource)  
```

Bien que *riidResource* soit le plus souvent le GUID de *ID3D12Resource*, il peut s'agir de n'importe quel GUID pour n'importe quelle interface. Si l'objet ressource ne prend pas en charge l'interface de ce GUID, la création échoue et retourne **E\_NOINTERFACE**.

*ppvResource*   \_Outptr\_opt\_<br />Type : void\*\*

Pointeur vers la mémoire qui reçoit le pointeur d'interface demandé vers l'objet ressource créé. **ppvResource** peut être **null**, pour permettre le test des capacités; lorsque **CreateCommittedResourceX** est appelée avec **ppvResource** défini sur **null**, aucun objet n'est créé et **S\_FALSE** est retourné lorsque **pResourceDesc** est valide.

### Valeur de retour

Type : HRESULT

**E\_OUTOFMEMORY** si la mémoire est insuffisante pour créer la ressource. Pour les autres valeurs de retour possibles, consultez les [codes de retour Direct3D 12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues).

## Remarques

Cette fonction crée à la fois une ressource et un tas implicite suffisamment grand pour contenir toute la ressource, qui y est mappée. L'application ne peut pas obtenir le tas créé. L'application doit s'assurer que le GPU ne peut plus lire ni écrire dans cette ressource avant de libérer la dernière référence à la ressource.

Le tas implicite est rendu résident pour l'accès GPU avant que la fonction ne retourne à l'application. Pour plus d'informations, consultez [Résidence](https://learn.microsoft.com/en-us/windows/win32/direct3d12/residency).

Le mappage d'adresses virtuelles GPU de la ressource ne peut pas être modifié. Pour plus d'informations, consultez [UpdateTileMappings](https://learn.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12commandqueue-updatetilemappings) et [Ressources en mosaïque de volume](https://learn.microsoft.com/en-us/windows/win32/direct3d12/volume-tiled-resources).

Cette fonction est thread-safe.

## Configuration requise

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

**Bibliothèque :** d3d12\_x.lib

**Plateformes prises en charge :** famille XBOX One

## Voir aussi

[ID3D12Device](/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateCommittedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreateCommittedResource1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource3 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createcommittedresource3_public.md)
- [CreatePlacedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public.md)
- [CreateReservedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createreservedresource_public.md)
