> ## 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 la ressource entière. La ressource est mappée au tas.

Crée à la fois une ressource et un tas implicite suffisamment grand pour contenir la ressource entière. 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 la forme d'une combinaison OR au niveau du bit de constantes de l'énumération **D3D12\_HEAP\_FLAGS**.

*pResourceDesc*   \_In\_<br />Type : [D3D12XBOX\_RESOURCE\_DESC\*](/fr/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/reference/graphics/d3d12_x/enums/d3d12_resource_states)

État initial de la ressource, sous la forme d'une combinaison OR au niveau du bit de constantes de l'é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 structure **D3D12\_CLEAR\_VALUE** qui décrit la valeur par défaut d'une couleur d'effacement.

*riidResource*   <br />Type : REFIID

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 de n'importe quelle interface. Si l'objet ressource ne prend pas en charge l'interface correspondant à ce GUID, la création échoue et renvoie **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 renvoyé si **pResourceDesc** est valide.

### Valeur renvoyée

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 la ressource entière, 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 VA 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/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CreateCommittedResource](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreateCommittedResource1 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource3 (XBOX Series consoles)](/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createcommittedresource3_public.md)
- [CreateCommittedResource1 (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateCommittedResource1 (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
