运行 Microsoft 游戏开发工具包 API 任务示例

本主题介绍如何运行 Microsoft 游戏开发工具包 (GDK) API 任务的示例。 异步 Microsoft 游戏开发工具包 (GDK) API 函数在内部实现工作回调。 但是,它仍然按照异步块中指定的任务队列的指示运行。 运行这些方法需要异步块和 API 所需的所有参数。

// Set up the async block and completion callback.
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = nullptr;
async->callback = [](XAsyncBlock* async)
{
    XUserHandle newUser = nullptr;
    HRESULT result = XUserAddResult(async, &newUser);
    // Handle the completion callback.
    delete async;
};

// Start the async call.
HRESULT hr = XUserAddAsync(XUserAddOptions::None, async);
if (FAILED(hr))
{
    delete async;
}

此代码与运行一般任务的代码差别不大。 可调用要使用的 API,无需将 XAsyncRun 与工作回调一起使用。 异步块的设置方式相同。 区别在于,XUserAddAsync 需要从使用 XUserAddResult 的完成回调中完成的调用中检索数据。

另请参阅

XAsync 库概述

设置异步任务(示例)

运行简单任务(示例)

XAsync