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

# XAsyncRun

> XAsyncRun

# XAsyncRun

Ejecuta de forma asincrónica la función de devolución de llamada especificada.

## Sintaxis

```cpp theme={null}
HRESULT XAsyncRun(  
         XAsyncBlock* asyncBlock,  
         XAsyncWork* work  
)  
```

### Parámetros

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

Un puntero al [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) que se usa para realizar el seguimiento de la llamada asincrónica.

*work*   \_In\_\
Tipo: [XAsyncWork\*](/reference/system/xasync/functions/xasyncwork)

Un puntero a una función de devolución de llamada que se ejecutará de forma asincrónica.

### Valor devuelto

Tipo: [HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

Devuelve `S_OK` si se realiza correctamente; de lo contrario, devuelve un código de error. Para ver una lista de códigos de error, consulte [Códigos de error](/reference/errorcodes).

## Comentarios

`XAsyncRun` es una función auxiliar que ejecuta de forma asincrónica la función de devolución de llamada especificada en *work*. Puede usar el `XAsyncBlock` especificado en *asyncBlock* para cancelar la función de devolución de llamada u obtener su estado. `XAsyncRun` usa internamente las siguientes funciones de `XAsyncProvider` para ejecutar la función de devolución de llamada y realizar su seguimiento:

* [XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin)
* [XAsyncComplete](/reference/system/xasyncprovider/functions/xasynccomplete)
* [XAsyncSchedule](/reference/system/xasyncprovider/functions/xasyncschedule)

Para obtener más información sobre cómo implementar su propia funcionalidad asincrónica con `XAsyncProvider` y `XAsyncBlock`, 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

* [Ejecutar una tarea de API del Microsoft Game Development Kit (GDK)](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)
* [Ejecutar una tarea sencilla](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)
* [Información general de la biblioteca XAsync](/build/core-features/common/async/async-libraries/async-library-xasync)
* [Configurar la capacidad de cancelación](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability)
* [Configurar un proveedor personalizado](/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider)
* [Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model)
* [Wrapper genérico para tareas asincrónicas](/build/core-features/common/async/async-task-function-example)

## Consulte también

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