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

# API XBOX PC Remote Iteration

> Referencia de la API XBOX PC Remote Iteration: funciones para copiar archivos e iniciar, reanudar y finalizar juegos en dispositivos de desarrollo remotos basados en Windows.

# API XBOX PC Remote Iteration

Proporciona funciones para copiar archivos e iniciar, reanudar y finalizar juegos en dispositivos remotos basados en Windows.

<Note>
  ¿Busca el flujo de trabajo basado en aplicaciones? Consulte los tutoriales de [XBOX PC Remote Tools](/tools/tools-pc/xbox-pc-remote-tools) para la aplicación XBOX PC Toolbox, las herramientas de línea de comandos `wdRemote` y `wdEndpoint` y el depurador remoto de Visual Studio.
</Note>

## Introducción

<CardGroup cols={2}>
  <Card title="Información general de XBOX PC Remote Tools" icon="network-wired" href="/tools/tools-pc/xbox-pc-remote-tools">
    Aprovisione, implemente, inicie, depure e itere en dispositivos Windows remotos.
  </Card>

  <Card title="Inicio rápido" icon="rocket" href="/tools/tools-pc/xbox-pc-remote-tools/quickstart">
    Instale la aplicación XBOX PC Toolbox y empareje sus dispositivos de desarrollo y de destino.
  </Card>

  <Card title="Herramienta de línea de comandos wdRemote" icon="terminal" href="/tools/tools-pc/commandlinetools/gr-wdRemote">
    Control mediante línea de comandos para los flujos de trabajo de iteración remota.
  </Card>

  <Card title="Preguntas frecuentes y solución de problemas" icon="circle-question" href="/tools/tools-pc/xbox-pc-remote-tools/faq">
    Preguntas comunes, problemas conocidos y soluciones.
  </Card>
</CardGroup>

## Información general

La API XBOX PC Remote Iteration habilita flujos de trabajo de desarrollo basados en PC dirigidos a dispositivos Windows remotos. Proporciona un conjunto de funciones de C para transferir archivos de juego entre un PC local y un dispositivo remoto, iniciar y administrar procesos de juego en el dispositivo remoto y registrar juegos para su ejecución remota. La API está diseñada para ciclos de iteración rápidos durante el desarrollo de juegos, lo que permite a los desarrolladores compilar localmente e implementar y probar en hardware remoto sin administración manual de archivos.

## Cuándo usarla

* Implementación de compilaciones de juegos desde un PC local en un dispositivo Windows remoto durante el desarrollo.
* Copia de archivos actualizados (copia diferencial) en un dispositivo remoto para minimizar los tiempos de transferencia durante las compilaciones iterativas.
* Inicio, suspensión, reanudación y finalización de procesos de juego en un dispositivo remoto desde el PC de desarrollo.
* Automatización de flujos de trabajo de compilación, implementación y prueba en canalizaciones de integración continua dirigidas a dispositivos Windows remotos.
* Creación de herramientas de estudio personalizadas, o integración en ellas, para la implementación en dispositivos Windows remotos de forma local o en laboratorios de pruebas.

## Cuándo NO usarla

* No use esta API para la implementación comercial ni de producción de juegos en consolas de usuarios finales.
* No use esta API para transferir archivos entre dos dispositivos remotos; uno de los extremos debe ser el PC local.
* No use esta API si el dispositivo remoto no se ha emparejado y configurado para el desarrollo remoto.

## Requisitos previos

* **Paquete NuGet:** [Microsoft.GDK.RemoteIterationClientApi](https://aka.ms/GameDevRemoteAPI) versión 0.1.0-preview\.26.3.6001 o posterior.
* **Emparejamiento de dispositivos:** El PC local y el dispositivo remoto deben estar emparejados y ser mutuamente de confianza mediante la aplicación [XBOX PC Toolbox](/tools/tools-pc/xboxpctoolbox/xboxpctoolbox) para aprovisionarlos.
* **wdEndpoint:** `wdEndpoint` debe estar instalado y en ejecución en el dispositivo remoto. La instalación de [XBOX PC Toolbox](/tools/tools-pc/xboxpctoolbox/xboxpctoolbox) instala y configura `wdEndpoint` de forma predeterminada.
* **Encabezado y biblioteca:** Incluya `WdRemoteIteration.h` y vincule con `wdremoteapi.lib`.

## Funciones

| Función                                                                                      | Descripción                                                                   |
| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [WdRemoteCopy](/reference/remoting/functions/wdremotecopy)                                   | Copia archivos entre un PC local y un dispositivo remoto.                     |
| [WdCancelRemoteCopy](/reference/remoting/functions/wdcancelremotecopy)                       | Cancela una operación de copia en curso.                                      |
| [WdCreateCancellationHandle](/reference/remoting/functions/wdcreatecancellationhandle)       | Crea un identificador de cancelación para cancelar una operación de copia.    |
| [WdCloseCancellationHandle](/reference/remoting/functions/wdclosecancellationhandle)         | Cierra un identificador de cancelación.                                       |
| [WdDuplicateCancellationHandle](/reference/remoting/functions/wdduplicatecancellationhandle) | Duplica un identificador de cancelación existente.                            |
| [WdLaunchRemoteGame](/reference/remoting/functions/wdlaunchremotegame)                       | Inicia un juego en un dispositivo remoto.                                     |
| [WdResumeRemoteGame](/reference/remoting/functions/wdresumeremotegame)                       | Reanuda el último juego iniciado en modo suspendido en un dispositivo remoto. |
| [WdTerminateRemoteGame](/reference/remoting/functions/wdterminateremotegame)                 | Finaliza el último juego iniciado en un dispositivo remoto.                   |
| [WdRegisterRemoteXboxGame](/reference/remoting/functions/wdregisterremotexboxgame)           | Registra un juego en un dispositivo remoto.                                   |

## Estructuras

| Estructura                                                                   | Descripción                                                                                                                 |
| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [WdCopyFileProgressInfo](/reference/remoting/structs/wdcopyfileprogressinfo) | Contiene información de progreso de un archivo individual durante una operación de copia.                                   |
| [WdCopyOperationSummary](/reference/remoting/structs/wdcopyoperationsummary) | Contiene información resumida del progreso de la operación de copia general.                                                |
| [WdCopyOptions](/reference/remoting/structs/wdcopyoptions)                   | Especifica la dirección y el modo de una operación de copia.                                                                |
| [WdCopyStatusCallbacks](/reference/remoting/structs/wdcopystatuscallbacks)   | Contiene punteros a funciones de devolución de llamada y configuración para recibir actualizaciones del estado de la copia. |
| [WdCopySearchOptions](/reference/remoting/structs/wdcopysearchoptions)       | Especifica los patrones de filtro de archivos y directorios para una operación de copia.                                    |
| [WdCancellationHandle](/reference/remoting/structs/wdcancellationhandle)     | Identificador opaco que se usa para cancelar una operación de copia en curso.                                               |
| [WdLaunchOptions](/reference/remoting/structs/wdlaunchoptions)               | Especifica las opciones para iniciar un juego en un dispositivo remoto.                                                     |

## Enumeraciones

| Enumeración                                                          | Descripción                                                           |
| -------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [WdCopyDirection](/reference/remoting/enums/wdcopydirection)         | Especifica la dirección de una operación de copia.                    |
| [WdLaunchMode](/reference/remoting/enums/wdlaunchmode)               | Especifica el modo de inicio de un juego remoto.                      |
| [WdCopyErrorSeverity](/reference/remoting/enums/wdcopyerrorseverity) | Especifica la gravedad de un mensaje de error o advertencia de copia. |

## Devoluciones de llamada

| Devolución de llamada                                                                | Descripción                                                                                 |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| [WdCopyFilesStatusCallback](/reference/remoting/callbacks/wdcopyfilesstatuscallback) | Se llama para notificar el progreso de la copia de archivos durante una operación de copia. |
| [WdCopyErrorCallback](/reference/remoting/callbacks/wdcopyerrorcallback)             | Se llama para notificar mensajes de error y advertencia durante una operación de copia.     |

## Modelo de subprocesos

La API XBOX PC Remote Iteration está diseñada para operaciones de copia de un solo subproceso. Se aplican las reglas siguientes:

* **Una copia a la vez.** Solo puede haber una llamada a [WdRemoteCopy](/reference/remoting/functions/wdremotecopy) activa en un momento dado, independientemente del dispositivo de destino o de la ruta de acceso de destino. Llamar a `WdRemoteCopy` mientras hay otra copia en curso da lugar a un **comportamiento indefinido**.
* **Las demás funciones son seguras durante una copia.** Funciones como [WdLaunchRemoteGame](/reference/remoting/functions/wdlaunchremotegame), [WdTerminateRemoteGame](/reference/remoting/functions/wdterminateremotegame), [WdResumeRemoteGame](/reference/remoting/functions/wdresumeremotegame) y [WdRegisterRemoteXboxGame](/reference/remoting/functions/wdregisterremotexboxgame) se pueden llamar desde subprocesos independientes mientras hay una copia en curso.
* **Todas las funciones son de bloqueo.** Cada función de la API bloquea el subproceso que realiza la llamada hasta que la operación se completa o falla. `WdRemoteCopy`, en particular, puede bloquear durante un período prolongado en función del tamaño de la transferencia y de las condiciones de la red.
* **La cancelación es segura para subprocesos.** Se puede llamar a [WdCancelRemoteCopy](/reference/remoting/functions/wdcancelremotecopy) desde cualquier subproceso. Si varios subprocesos intentan cancelar la misma operación simultáneamente, las llamadas se serializan internamente: la primera se realiza correctamente y las llamadas posteriores devuelven un error porque ya no queda nada que cancelar.
* **No hay estado de conexión entre llamadas.** Cada llamada a la API establece su propia conexión con el dispositivo remoto. No hay una sesión persistente; por ejemplo, si la conexión se interrumpe después de que [WdLaunchRemoteGame](/reference/remoting/functions/wdlaunchremotegame) se complete, aún puede llamar a [WdTerminateRemoteGame](/reference/remoting/functions/wdterminateremotegame) una vez restaurada la conectividad.

## Comportamiento de reintento

La API XBOX PC Remote Iteration **no** reintenta automáticamente las operaciones con error a nivel de la API. Si una operación falla debido a una interrupción de la red o a otro error transitorio, el autor de la llamada es responsable de reintentarla.

* **Sin reintento automático.** Si una operación de copia falla (por ejemplo, debido a la pérdida de conectividad de red), `WdRemoteCopy` devuelve un error. El autor de la llamada debe volver a invocar la función para reintentarlo.
* **Sin tiempo de espera configurable.** `WdRemoteCopy` no impone un tiempo de espera a la operación de copia. Continúa transfiriendo hasta que se completa, se produce un error o se cancela mediante [WdCancelRemoteCopy](/reference/remoting/functions/wdcancelremotecopy). En condiciones de red degradadas, las transferencias pueden avanzar muy lentamente en lugar de fallar.
* **El progreso se conserva en caso de error.** Los archivos que se copiaron correctamente antes de un error permanecen en el destino. Cuando el autor de la llamada reintenta la copia, el comportamiento de copia diferencial garantiza que solo se transfieran los archivos incompletos o que falten; los archivos copiados anteriormente no se vuelven a transferir.
* **Los errores de espacio en disco se notifican.** Si el dispositivo de destino se queda sin espacio en disco durante una copia, la operación falla con un error en lugar de bloquearse.
* **Resistencia a nivel de transporte.** La capa de transporte subyacente controla la retransmisión de paquetes de bajo nivel de forma transparente. Los problemas de red menores (como la pérdida de un único paquete) no provocan un error en la operación. Sin embargo, una pérdida de conectividad sostenida acabará provocando un error.
* **Patrón de reintento recomendado.** Después de un error de `WdRemoteCopy`, simplemente vuelva a llamar a `WdRemoteCopy` con los mismos parámetros. El comportamiento de copia diferencial minimiza el trabajo redundante transfiriendo solo los archivos que faltan o están incompletos en el destino.

## Cancelación

La API XBOX PC Remote Iteration proporciona un modelo de cancelación basado en identificadores para las operaciones de copia de larga duración. El autor de la llamada es responsable del ciclo de vida del identificador:

1. Cree un identificador llamando a [WdCreateCancellationHandle](/reference/remoting/functions/wdcreatecancellationhandle).
2. Pase el identificador a [WdRemoteCopy](/reference/remoting/functions/wdremotecopy) mediante el parámetro `cancellationHandle`.
3. Desde un subproceso independiente, llame a [WdCancelRemoteCopy](/reference/remoting/functions/wdcancelremotecopy) con el identificador para cancelar la copia en curso. `WdCancelRemoteCopy` no es de bloqueo. Una vez señalada la cancelación, `WdRemoteCopy` completa la cancelación y devuelve `S_OK`.
4. Cuando `WdRemoteCopy` devuelva un valor, cierre el identificador llamando a [WdCloseCancellationHandle](/reference/remoting/functions/wdclosecancellationhandle).

Si varios componentes necesitan hacer referencia al mismo identificador de cancelación, use [WdDuplicateCancellationHandle](/reference/remoting/functions/wdduplicatecancellationhandle) para duplicarlo. Cada copia debe cerrarse de forma independiente.

## Raíces comunes

Las raíces comunes son ubicaciones conocidas preconfiguradas en el dispositivo remoto en las que normalmente se copian los juegos o desde las que se inician. En lugar de especificar una ruta de acceso absoluta completa, los autores de las llamadas pueden hacer referencia a estas ubicaciones mediante un alias usando el campo `commonRootAlias` de [WdCopyOptions](/reference/remoting/structs/wdcopyoptions) o [WdLaunchOptions](/reference/remoting/structs/wdlaunchoptions).

Si `destinationPath` es una ruta de acceso absoluta, el `commonRootAlias` se omite. Cuando `destinationPath` es una ruta de acceso relativa, se resuelve con respecto a la raíz común identificada por el alias. Si no se especifica ningún alias, se usa la ubicación de raíz común predeterminada.

## Códigos de error

Para obtener una lista completa de los códigos de error específicos de la API, incluidas las descripciones, las causas raíz y las instrucciones de solución de problemas, consulte [Códigos de error de la API XBOX PC Remote Iteration](/reference/remoting/error-codes).

## Control de versiones, mantenimiento y distribución

La API de Remote Iteration Tools (RIT) sigue el **Versionado Semántico 2.0.0** (`MAJOR.MINOR.PATCH`) para ofrecer expectativas claras en cuanto a compatibilidad, actualizaciones y soporte a largo plazo. Todas las bibliotecas públicas de la API RIT se distribuyen mediante **NuGet**, lo que permite flujos de trabajo estándar de administración y actualización de dependencias.

### Modelo de control de versiones

#### Versiones PATCH

Las actualizaciones `PATCH` proporcionan correcciones de errores y mejoras de confiabilidad. Estas actualizaciones **no** cambian los contratos de la API ni el comportamiento en tiempo de ejecución, y son actualizaciones de sustitución directa seguras. Actualizar a una versión `PATCH` más reciente no requiere cambios en el código.

#### Versiones MINOR

Las actualizaciones `MINOR` introducen nuevas API o hacen evolucionar la funcionalidad existente de manera compatible con versiones anteriores. Cuando se planea cambiar o quitar API en el futuro, se marcan claramente como en desuso, lo que da tiempo a los desarrolladores para migrar. Las actualizaciones de dependencias se revisan para garantizar la compatibilidad dentro de la misma versión `MAJOR`.

#### Versiones MAJOR

Las actualizaciones `MAJOR` representan cambios importantes intencionados. Estas versiones pueden requerir cambios de código o actualizaciones de dependencias y van acompañadas de instrucciones de migración claras. La actualización a una nueva versión `MAJOR` se trata como una decisión explícita y voluntaria alineada con los ciclos normales de validación y publicación.

### Modelo de mantenimiento y soporte

Una vez que una versión `MAJOR` o `MINOR` de la API RIT se publica, entra en un período de mantenimiento activo con una ventana de soporte objetivo de aproximadamente **18 meses**. Durante este tiempo:

* Se aprueban versiones `PATCH` para corregir errores y mejorar la confiabilidad de las versiones compatibles.
* A medida que se publican nuevas versiones, y las revisiones y los cambios menores mejoran las versiones existentes y corrigen errores, se pueden mantener simultáneamente varias versiones `MAJOR` y `MINOR`.
* Las versiones `PATCH` **no** amplían la vida útil de mantenimiento de una versión `MAJOR` o `MINOR`.
* Las nuevas características solo se introducen en versiones `MINOR` o `MAJOR` más recientes y no se transfieren a versiones anteriores.

Una vez que finaliza la ventana de mantenimiento, la versión se retira y se espera que los desarrolladores migren a una versión `MAJOR` o `MINOR` compatible más reciente.

### Expectativas de actualización

Se recomienda a los desarrolladores mantenerse al día dentro de una versión `MAJOR` adoptando las actualizaciones `PATCH` y `MINOR`. Las actualizaciones de versión `MAJOR` deben planearse y validarse de forma explícita para garantizar la compatibilidad con los flujos de trabajo de producción.

### Compatibilidad de versiones entre la API y wdEndpoint

La biblioteca cliente de la API RIT y el `wdEndpoint` que se ejecuta en el dispositivo remoto siempre deben mantenerse en versiones compatibles. Usar una versión más reciente de la API con un `wdEndpoint` más antiguo puede provocar errores `E_SERVERTOOOLD` o un comportamiento inesperado. Para garantizar un comportamiento correcto, la compatibilidad total con versiones anteriores y la compatibilidad con las características más recientes de la API, se recomienda actualizar `wdEndpoint` en todos los dispositivos remotos cada vez que se actualice la biblioteca cliente de la API. Consulte las notas de la versión del paquete NuGet para conocer los requisitos de versión mínima de `wdEndpoint`.

## Requisitos

| Requisito                           | Valor                                                                     |
| ----------------------------------- | ------------------------------------------------------------------------- |
| **Encabezado**                      | WdRemoteIteration.h                                                       |
| **Biblioteca**                      | wdremoteapi.lib                                                           |
| **Paquete NuGet**                   | [Microsoft.GDK.RemoteIterationClientApi](https://aka.ms/GameDevRemoteAPI) |
| **Sistemas operativos compatibles** | Windows 11 y versiones posteriores                                        |
| **Arquitecturas compatibles**       | x64, ARM64                                                                |

## Documentación conceptual

<Card title="XBOX PC Remote Tools" icon="network-wired" href="/tools/tools-pc/xbox-pc-remote-tools">
  Configure dispositivos Windows remotos y use XBOX PC Remote Tools para la implementación, el inicio, la depuración y la iteración.
</Card>

* [Notas de la versión de XBOX PC Remote Tools (marzo de 2026)](/tools/tools-pc/xbox-pc-remote-tools/release-notes/2603)

## Consulte también

* [WdRemoteCopy](/reference/remoting/functions/wdremotecopy)
* [WdCancelRemoteCopy](/reference/remoting/functions/wdcancelremotecopy)
* [WdCreateCancellationHandle](/reference/remoting/functions/wdcreatecancellationhandle)
* [WdLaunchRemoteGame](/reference/remoting/functions/wdlaunchremotegame)
* [WdRegisterRemoteXboxGame](/reference/remoting/functions/wdregisterremotexboxgame)


## Related topics

- [XBOX PC Remote Tools: notas de la versión de marzo de 2026 (2603)](/es/tools/tools-pc/xbox-pc-remote-tools/release-notes/2603.md)
- [Códigos de error de la API XBOX PC Remote Iteration](/es/reference/remoting/error-codes.md)
- [XBOX PC Remote Tools](/es/tools/tools-pc/xbox-pc-remote-tools/index.md)
- [Cómo usar las XBOX PC Remote Tools](/es/tools/tools-pc/xbox-pc-remote-tools/how-to-use-tools.md)
- [WdRegisterRemoteXboxGame](/es/reference/remoting/functions/wdregisterremotexboxgame.md)
