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

> Copia descriptores de un origen a un destino. (ID3D12Device.CopyDescriptors)

Copia descriptores de un origen a un destino.

## Sintaxis

```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
)
```

### Parámetros

*NumDestDescriptorRanges \[in]*\
Tipo: UINT

El número de intervalos de descriptores de destino en los que copiar.

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

Una matriz de objetos **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** en los que copiar.

Todos los descriptores de destino y de origen deben estar en montones del mismo [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public).

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

Una matriz de tamaños de intervalos de descriptores de destino en los que copiar.

*NumSrcDescriptorRanges \[in]*\
Tipo: UINT

El número de intervalos de descriptores de origen desde los que copiar.

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

Una matriz de objetos **[D3D12\_CPU\_DESCRIPTOR\_HANDLE](/reference/graphics/d3d12/structs/d3d12_cpu_descriptor_handle_public)** desde los que copiar.

<Info>
  Todos los elementos del parámetro *pSrcDescriptorRangeStarts* deben estar en un montón de descriptores no visible para el sombreador. Esto se debe a que los montones de descriptores visibles para el sombreador pueden crearse en memoria **WRITE\_COMBINE** o en memoria local de la GPU, cuya lectura es prohibitivamente lenta. Si su aplicación administra los montones de descriptores copiando los descriptores necesarios para un pase o fotograma determinado desde montones de descriptores locales de "almacenamiento" al montón de descriptores enlazado a la GPU, use montones opacos para el sombreador como montones de almacenamiento y copie en el montón visible para la GPU según sea necesario.
</Info>

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

Una matriz de tamaños de intervalos de descriptores de origen desde los que copiar.

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

El valor de tipo [D3D12\_DESCRIPTOR\_HEAP\_TYPE](/reference/graphics/d3d12/enums/d3d12_descriptor_heap_type_public) que especifica el tipo de montón de descriptores con el que copiar. Esto es necesario porque los distintos tipos de descriptores pueden tener tamaños diferentes.

Tanto el montón de descriptores de origen como el de destino deben tener el mismo tipo; de lo contrario, la capa de depuración emitirá un error.

### Valor devuelto

Tipo: void

Ninguno.

## Comentarios

Cuando corresponda, prefiera [**ID3D12Device::CopyDescriptorsSimple**](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_copydescriptorssimple_public) en lugar de este método. Puede tener una mejor tasa de aciertos de caché de CPU debido a la naturaleza lineal de la copia.

## Requisitos

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

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

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


## Related topics

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