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

# CopyDescriptorsSimple

> Copie des descripteurs d'une source vers une destination. (ID3D12Device.CopyDescriptorsSimple)

Copie des descripteurs d'une source vers une destination.

## Syntaxe

```cpp theme={null}
void CopyDescriptorsSimple(
    UINT NumDescriptors,
    D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
    D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
    D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
)
```

### Paramètres

*NumDescriptors \[in]*\
Type : UINT

Le nombre de descripteurs à copier.

*DestDescriptorRangeStart \[in]*\
Type : D3D12\_CPU\_DESCRIPTOR\_HANDLE

Un **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/fr/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** qui décrit les descripteurs de destination à partir desquels commencer la copie.

Les descripteurs de destination et de source doivent se trouver dans des tas du même [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/fr/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public).

*SrcDescriptorRangeStart \[in]*\
Type : D3D12\_CPU\_DESCRIPTOR\_HANDLE

Un **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/fr/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** qui décrit les descripteurs source à partir desquels commencer la copie.

<Info>
  Le paramètre *SrcDescriptorRangeStart* doit se trouver dans un tas de descripteurs non visible par les shaders. En effet, les tas de descripteurs visibles par les shaders peuvent être créés dans de la mémoire **WRITE\_COMBINE** ou dans la mémoire locale du GPU, dont la lecture est extrêmement lente. Si votre application gère les tas de descripteurs en copiant les descripteurs requis pour une passe ou une image donnée depuis des tas de descripteurs de « stockage » locaux vers le tas de descripteurs lié au GPU, utilisez des tas opaques pour les shaders comme tas de stockage et copiez-les dans le tas visible par le GPU selon les besoins.
</Info>

*DescriptorHeapsType \[in]*\
Type : D3D12\_DESCRIPTOR\_HEAP\_TYPE

Valeur de type [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/fr/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public) qui spécifie le type de tas de descripteurs utilisé pour la copie. Ce paramètre est requis, car différents types de descripteurs peuvent avoir des tailles différentes.

Les tas de descripteurs source et de destination doivent être du même type, sinon la couche de débogage émettra une erreur.

### Valeur renvoyée

Type : void

Aucune.

## Remarques

Lorsque cela est possible, préférez cette méthode à [**ID3D12Device::CopyDescriptors**](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_copydescriptors_public). Elle peut présenter un meilleur taux d'échec de cache CPU en raison de la nature linéaire de la copie.

## Configuration requise

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

## Voir aussi

[Copie de descripteurs](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/copying-descriptors)

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


## Related topics

- [CopyDescriptors](/fr/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_copydescriptors_public.md)
- [D3D12_DESCRIPTOR_HEAP_TYPE](/fr/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public.md)
- [SetDescriptorHeaps](/fr/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setdescriptorheaps_public.md)
- [D3D12_CPU_DESCRIPTOR_HANDLE](/fr/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public.md)
- [Licence SimpleJson](/fr/services/playfab/sdks/unity3d/Licenses/simplejson-license.md)
