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

# AtomicCopyBufferUINT64

> Copia atómicamente un elemento de datos principal de tipo UINT64 de un recurso a otro, junto con recursos dependientes opcionales.

Copia atómicamente un elemento de datos principal de tipo UINT64 de un recurso a otro, junto con recursos dependientes opcionales.

Estos "recursos dependientes" se denominan así porque dependen del elemento de datos principal para localizarlos; normalmente, el elemento clave es una dirección, un índice u otro identificador que hace referencia indirectamente a uno o varios de los recursos dependientes.

Esta función admite un elemento de datos principal de tipo UINT64 (64 bits). Una versión diferente de esta función, [AtomicCopyBufferUINT](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint_public), admite un elemento de datos principal de tipo UINT (32 bits).

## Sintaxis

```cpp theme={null}
void AtomicCopyBufferUINT64(
    ID3D12Resource  pDstBuffer,
    UINT64 DstOffset,
    ID3D12Resource  pSrcBuffer,
    UINT64 SrcOffset,
    UINT Dependencies,
    ID3D12Resource const  ppDependentResources,
    const D3D12_SUBRESOURCE_RANGE_UINT64  pDependentSubresourceRanges
)
```

### Parámetros

*pDstBuffer \[in]*\
Tipo: ID3D12Resource \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015): <code>*In*</code>

El recurso en el que se copia el elemento de datos principal UINT64.

*DstOffset*\
Tipo: UINT64

Un desplazamiento en el búfer del recurso de destino que especifica dónde se copia el elemento de datos principal, en bytes. Este desplazamiento, combinado con la dirección base del búfer del recurso, debe dar como resultado una dirección de memoria alineada de forma natural para valores UINT64.

*pSrcBuffer \[in]*\
Tipo: ID3D12Resource \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values): <code>*In*</code>

El recurso desde el que se copia el elemento de datos principal UINT64. Estos datos suelen ser una dirección, un índice u otro identificador que el código del sombreador puede usar para localizar la versión más reciente de la información sensible a la latencia.

*SrcOffset*\
Tipo: UINT64

Un desplazamiento en el búfer del recurso de origen que especifica desde dónde se copia el elemento de datos principal, en bytes. Este desplazamiento, combinado con la dirección base del búfer del recurso, debe dar como resultado una dirección de memoria alineada de forma natural para valores UINT64.

*Dependencies*\
Tipo: UINT

El número de recursos dependientes.

*ppDependentResources \[in]*\
Tipo: ID3D12Resource \*const \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values): <code>*In\_reads*(Dependencies)</code>

Una matriz de recursos que contienen los elementos dependientes de la carga de datos.

*pDependentSubresourceRanges \[in]*\
Tipo: const D3D12\_SUBRESOURCE\_RANGE\_UINT64 \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values): <code>*In\_reads*(Dependencies)</code>

Una matriz de intervalos de subrecursos que especifican los elementos dependientes de la carga de datos. Estos elementos se actualizan completamente antes de que el propio elemento de datos principal se copie atómicamente. Esto garantiza que toda la operación sea lógicamente atómica; es decir, el elemento de datos principal nunca hace referencia a una carga de datos incompleta.

### Valor devuelto

Tipo: void

Ninguno.

## Comentarios

Este método se usa normalmente para actualizar recursos en los que la latencia normal de la canalización de representación puede ser perjudicial para la experiencia del usuario. Por ejemplo, una aplicación puede calcular una matriz de vista a partir de la entrada de usuario más reciente (como la procedente de los sensores de un casco de realidad virtual) y usar esta función para actualizar y activar esta matriz en listas de comandos ya enviadas a la GPU, con el fin de reducir la latencia percibida entre la entrada y la representación.

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

[ID3D12GraphicsCommandList1](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/id3d12graphicscommandlist1_public)


## Related topics

- [AtomicCopyBufferUINT](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist1/methods/id3d12graphicscommandlist1_atomiccopybufferuint_public.md)
- [D3D12_SUBRESOURCE_RANGE_UINT64](/es/reference/graphics/d3d12/structs/d3d12_subresource_range_uint64_public.md)
- [CopyBufferRegion](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copybufferregion_public.md)
- [CopyTiles](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public.md)
- [GetCopyableFootprints](/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_getcopyablefootprints_public.md)
