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

# XAsyncCompletionRoutine

> XAsyncCompletionRoutine

# XAsyncCompletionRoutine

Representa la devolución de llamada de finalización de una llamada asincrónica.

## Sintaxis

```cpp theme={null}
void XAsyncCompletionRoutine(  
         XAsyncBlock* asyncBlock  
)  
```

### Parámetros

*asyncBlock*   \_Inout\_\
Tipo: [XAsyncBlock\*](/reference/system/xasync/structs/xasyncblock)

Un puntero al [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) de la devolución de llamada de finalización.

### Valor devuelto

Tipo: void

## Comentarios

Opcionalmente, puede especificar un puntero `XAsyncCompletionRoutine` para proporcionar una *devolución de llamada de finalización* para una llamada asincrónica. Una devolución de llamada de finalización es una función de devolución de llamada que se ejecuta después de la finalización de una llamada asincrónica. Puede especificar un puntero `XAsyncCompletionRoutine` en el miembro `callback` de una estructura [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) para una llamada asincrónica.

Normalmente, una devolución de llamada de finalización procesa los resultados de una llamada asincrónica en otro subproceso. La devolución de llamada de finalización representa una función de devolución de llamada que se invoca cuando se completa la llamada asincrónica. La función de devolución de llamada toma un puntero `XAsyncBlock`, que posteriormente se usa para obtener los resultados de la función de devolución de llamada.

Si especifica una devolución de llamada de finalización, puede comprobar periódicamente si la devolución de llamada de finalización se ha completado mediante la función [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus) y, a continuación, usar [XAsyncGetResult](/reference/system/xasyncprovider/functions/xasyncgetresult) y [XAsyncGetResultSize](/reference/system/xasync/functions/xasyncgetresultsize) según sea necesario para obtener los resultados de la tarea completada.

Una devolución de llamada de finalización se invoca incluso si se invoca [XAsyncCancel](/reference/system/xasync/functions/xasynccancel) para cancelar la llamada asincrónica.

Use [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus) o el método `Get\*Result` de la devolución de llamada de finalización para obtener los resultados de la llamada asincrónica. Si la llamada asincrónica se canceló, estos métodos devuelven `E_ABORT`. Para obtener más información sobre el patrón de implementación de un proveedor asincrónico, incluido el método `Get\*Result`, consulte [Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model).

## Requisitos

**Encabezado:** XAsync.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model)

## Consulte también

[Miembros de XAsync](/reference/system/xasync/xasync_members)\
[XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus)\
[Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncCancel](/es/reference/system/xasync/functions/xasynccancel.md)
- [XAsync](/es/reference/system/xasync/xasync_members.md)
- [Modelo de programación asincrónica](/es/build/core-features/common/async/async-programming-model.md)
- [XAsyncBlock](/es/reference/system/xasync/structs/xasyncblock.md)
- [XMEMALLOC_ROUTINE callback](/es/reference/system/xmem/functions/xmemalloc_routine.md)
