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

# CreateCommittedResource3 (consoles XBOX Series)

> Crée une ressource validée avec une disposition initiale plutôt qu'un état initial.

Crée une ressource validée avec une disposition initiale plutôt qu'un état initial.

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

## Syntaxe

```cpp theme={null}
HRESULT CreateCommittedResource3(
    const D3D12_HEAP_PROPERTIES  pHeapProperties,
    D3D12_HEAP_FLAGS HeapFlags,
    const D3D12_RESOURCE_DESC1  pDesc,
    D3D12_BARRIER_LAYOUT InitialLayout,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    ID3D12ProtectedResourceSession  pProtectedSession,
    UINT32 NumCastableFormats,
    DXGI_FORMAT  pCastableFormats,
    const IID & riidResource,
    void  ppvResource
)
```

### Paramètres

*pHeapProperties*<br />Type : const D3D12\_HEAP\_PROPERTIES \*

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

*HeapFlags*<br />Type : D3D12\_HEAP\_FLAGS

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

*pDesc*<br />Type : const D3D12\_RESOURCE\_DESC1 \*

Un pointeur vers une structure **D3D12\_RESOURCE\_DESC1** qui décrit la ressource, y compris une région mip.

*InitialLayout*<br />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*<br />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](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_flags) 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 passée lors de la création de la ressource.

Lorsque vous utilisez [D3D12\_RESOURCE\_DIMENSION\_BUFFER](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_dimension), vous devez définir *pOptimizedClearValue* sur `nullptr`.

*pProtectedSession*<br />Type : ID3D12ProtectedResourceSession \*

Un pointeur facultatif vers un objet qui représente une session de protection du contenu. S'il est fourni, cette session indique que la ressource doit être protégée. Vous pouvez obtenir un **ID3D12ProtectedResourceSession** en appelant [ID3D12Device4::CreateProtectedResourceSession](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createprotectedresourcesession_public).

*NumCastableFormats*<br />Type : UINT32

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

*pCastableFormats*<br />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.

*riidResource*<br />Type : const IID &

Une 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](/fr-CA/reference/graphics/d3d12_xs/interfaces/ID3D12Resource/id3d12resource_xs), 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*<br />Type : void \*\*

Un 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](https://learn.microsoft.com/en-us/windows/win32/com/com-error-codes-10) [**HRESULT**](https://learn.microsoft.com/en-us/windows/desktop/com/structure-of-com-error-codes).

| Valeur de retour | Description |
| - | - |
| E\_OUTOFMEMORY | 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

## Configuration requise

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

## Voir aussi

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


## Related topics

- [CreateCommittedResource1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createcommittedresource1_public.md)
- [CreateReservedResource1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createreservedresource1_public.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)
- [CreateHeap1 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device4/methods/id3d12device4_createheap1_public.md)
