运行 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 的完成回调中完成的调用中检索数据。