次の方法で共有


Microsoft Game Development Kit API タスクを実行する例

このトピックでは、Microsoft Game Development Kit (GDK) API タスクを実行する方法の例を提供します。 非同期 Microsoft Game Development Kit (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;
}

このコードは、一般的なタスクを実行するためのコードと大差ありません。 XAsyncRun を処理コールバックと共に使用する代わりに、使用する API を呼び出します。 この非同期ブロックは、同じ方法で設定されます。 違いは、XUserAddAsync では、XUserAddResult を使用して完了コールバックで実行された呼び出しからデータを取得することです。

関連項目

XAsync ライブラリの概要

非同期タスクの設定 (例)

単純なタスクを実行する (例)

XAsync