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

# CreateReservedResource

> Crée une ressource D3D12 réservée qui n'est encore mappée à aucune page de tas, pour une utilisation avec des ressources en mosaïque sur les consoles XBOX Series au moyen de ID3D12Device.

Crée une ressource réservée, qui n'est encore mappée à aucune page d'un tas.

## Syntaxe

```cpp theme={null}
HRESULT CreateReservedResource(
    const D3D12_RESOURCE_DESC  pDesc,
    D3D12_RESOURCE_STATES InitialState,
    const D3D12_CLEAR_VALUE  pOptimizedClearValue,
    const IID & riid,
    void  ppvResource
)
```

### Paramètres

*pDesc \[in]*<br />Type : const D3D12\_RESOURCE\_DESC \*

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

*InitialState \[in]*<br />Type : D3D12\_RESOURCE\_STATES

État initial de la ressource, sous forme de combinaison par OU au niveau du bit de constantes de l'énumération **D3D12\_RESOURCE\_STATES**.

*pOptimizedClearValue \[in, optional]*<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* à `nullptr`.

*riid \[in]*<br />Type : const IID &

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

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 de ce **GUID**, la création échoue avec **E\_NOINTERFACE**.

*ppvResource \[out, optional]*<br />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](https://learn.microsoft.com/en-us/windows/win32/com/com-error-codes-10) [**HRESULT**](https://learn.microsoft.com/en-us/windows/win32/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

**CreateReservedResource** équivaut à [D3D11\_RESOURCE\_MISC\_TILED](https://learn.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_resource_misc_flag) dans Direct3D 11. Elle crée une ressource uniquement en mémoire virtuelle, sans stockage de sauvegarde.

Vous devez mapper la ressource à la mémoire physique (c'est-à-dire à un tas) à l'aide de [CopyTileMappings](/fr-CA/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_copytilemappings_public) et de [UpdateTileMappings](/fr-CA/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_updatetilemappings_public).

Ces types de ressources ne peuvent être créés que lorsque l'adaptateur prend en charge le niveau 1 ou supérieur des ressources en mosaïque. Le niveau des ressources en mosaïque définit le comportement de l'accès à une ressource qui n'est pas mappée à un tas.

## Configuration requise

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

## Voir aussi

[CreateCommittedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public)

[CreatePlacedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public)

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


## 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)
- [CreatePlacedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createplacedresource_public.md)
- [CreateCommittedResource](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcommittedresource_public.md)
- [CreatePlacedResource2 (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device10/methods/id3d12device10_createplacedresource2_public.md)
