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

# CopyDescriptors

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

Copie des descripteurs d'une source vers une destination.

## Syntaxe

```cpp theme={null}
void CopyDescriptors(
    UINT NumDestDescriptorRanges,
    const D3D12_CPU_DESCRIPTOR_HANDLE  pDestDescriptorRangeStarts,
    const UINT  pDestDescriptorRangeSizes,
    UINT NumSrcDescriptorRanges,
    const D3D12_CPU_DESCRIPTOR_HANDLE  pSrcDescriptorRangeStarts,
    const UINT  pSrcDescriptorRangeSizes,
    D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
)
```

### Paramètres

*NumDestDescriptorRanges \[in]*\
Type : UINT

Le nombre de plages de descripteurs de destination vers lesquelles copier.

*pDestDescriptorRangeStarts \[in]*\
Type : const D3D12\_CPU\_DESCRIPTOR\_HANDLE \*

Un tableau d'objets **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/fr-CA/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** vers lesquels copier.

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

*pDestDescriptorRangeSizes \[in, optional]*\
Type : const UINT \*

Un tableau des tailles des plages de descripteurs de destination vers lesquelles copier.

*NumSrcDescriptorRanges \[in]*\
Type : UINT

Le nombre de plages de descripteurs sources à partir desquelles copier.

*pSrcDescriptorRangeStarts \[in]*\
Type : const D3D12\_CPU\_DESCRIPTOR\_HANDLE \*

Un tableau d'objets **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/fr-CA/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** à partir desquels copier.

<Info>
  Tous les éléments du paramètre *pSrcDescriptorRangeStarts* doivent se trouver dans un tas de descripteurs non visible par les nuanceurs. En effet, les tas de descripteurs visibles par les nuanceurs peuvent être créés dans 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 locaux de « stockage » vers le tas de descripteurs lié au GPU, utilisez des tas opaques aux nuanceurs pour les tas de stockage et copiez dans le tas visible par le GPU au besoin.
</Info>

*pSrcDescriptorRangeSizes \[in, optional]*\
Type : const UINT \*

Un tableau des tailles des plages de descripteurs sources à partir desquelles copier.

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

La valeur de type [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/fr-CA/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public) qui spécifie le type de tas de descripteurs utilisé pour la copie. Cela 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 de retour

Type : void

Aucune.

## Remarques

Lorsque cela est applicable, préférez [**ID3D12Device::CopyDescriptorsSimple**](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_copydescriptorssimple_public) à cette méthode. Elle peut présenter un meilleur taux d'échecs de cache du processeur grâce à 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-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)


## Related topics

- [CopyDescriptorsSimple](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_copydescriptorssimple_public.md)
- [D3D12_DESCRIPTOR_HEAP_TYPE](/fr-CA/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public.md)
- [SetDescriptorHeaps](/fr-CA/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setdescriptorheaps_public.md)
- [D3D12_CPU_DESCRIPTOR_HANDLE](/fr-CA/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public.md)
- [CopyTiles](/fr-CA/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public.md)
