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

# Microsoft Game Development Kit API タスクの実行例

> Microsoft Game Development Kit API タスクの実行例

このトピックでは、Microsoft Game Development Kit (GDK) API タスクを実行する方法の例を示します。非同期の Microsoft Game Development Kit (GDK) API 関数は、ワーク コールバックを内部的に実装しています。ただし、非同期ブロックで指定されているタスク キューによって制御される形で実行されます。これらのメソッドを実行するには、非同期ブロックと、API に必要なパラメーターが必要です。

```c++ theme={null}
// 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;
}
```

このコードは、[汎用タスクの実行](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task) 用のコードとあまり変わりません。ワーク コールバックを指定して [XAsyncRun](/reference/system/xasync/functions/xasyncrun) を使用する代わりに、使用したい API を呼び出します。非同期ブロックの設定方法は同じです。ここでの違いは、[XUserAddAsync](/reference/system/xuser/functions/xuseraddasync) には呼び出しから取得するデータがあり、そのデータは完了コールバックの中で [XUserAddResult](/reference/system/xuser/functions/xuseraddresult) を使って取得される点です。

## リファレンス API ドキュメント

* [XAsync (API 目次)](/reference/system/xasync/xasync_members)
  * 関数
    * [XAsyncRun](/reference/system/xasync/functions/xasyncrun)
* [xuser (API 目次)](/reference/system/xuser/xuser_members)
  * 関数
    * [XUserAddAsync](/reference/system/xuser/functions/xuseraddasync)
    * [XUserAddResult](/reference/system/xuser/functions/xuseraddresult)

## 関連項目

[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)

[単純なタスクの実行 (例)](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)

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


## Related topics

- [単純なタスクの実行例](/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
- [非同期タスクのセットアップ例](/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task.md)
- [XAsync ライブラリの概要](/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync.md)
- [非同期タスク プログラミング向け XAsync ライブラリ](/ja-jp/build/core-features/common/async/async-libraries/index.md)
- [スケジュール タスクのクイックスタート](/ja-jp/services/playfab/data-analytics/acting-data/scheduled-tasks/quickstart.md)
