> ## 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](/reference/system/xasync/functions/xasyncrun) 函数启动。
该函数以异步块作为输入，然后要求以仿函数或 lambda 作为工作回调输入进行实现。请记住，异步块指定了要使用的任务队列和可选的完成回调。

```c++ theme={null}
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback = 
    [](XAsyncBlock* async)
    {
        // The optional completion callback.
        delete async;
    }

XAsyncRun(async,
    [](XAsyncBlock* async)->HRESULT
    {
        // The work callback is implemented here.
        return S_OK;
    });
```

此示例使用 `XAsyncRun` 来启动一个自定义的简单异步任务。异步块包含要使用的任务队列和完成回调。
`XAsyncRun` 需要一个工作回调，并且具有返回值。该返回值随后可通过调用 [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus) 获取。在内部，`XAsyncRun` 使用一个简单的异步提供程序来处理指定工作回调的入队、异步块中完成回调的入队以及该过程的其他状态变化。这意味着运行简单的异步任务不需要更多的代码——只需设置异步块并调用 `XAsyncRun`。

## 参考 API 文档

* [XAsync (API 内容)](/reference/system/xasync/xasync_members)
  * 函数
    * [XAsyncRun](/reference/system/xasync/functions/xasyncrun)
    * [XAsyncGetStatus](/reference/system/xasync/functions/xasyncgetstatus)

## 另请参阅

[XAsync 库概述](/build/core-features/common/async/async-libraries/async-library-xasync)

[设置异步任务（示例）](/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task)

[运行 Microsoft Game Development Kit (GDK) API 任务（示例）](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)

[XAsync](/reference/system/xasync/xasync_members)


## Related topics

- [用于异步任务编程的 XAsync 库](/zh-CN/build/core-features/common/async/async-libraries/index.md)
- [运行 Microsoft Game Development Kit API 任务示例](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
- [设置异步任务示例](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task.md)
- [XAsync 库概述](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasync.md)
- [XAsyncRun](/zh-CN/reference/system/xasync/functions/xasyncrun.md)
