> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XAsyncProvider ライブラリの概要

> XAsyncProvider は非同期タスクの実行方法を制御し、XAsyncBlock のコールバックをタスク キューにエンキューし、キャンセル可能性を処理し、結果バッファーをセットアップします。

このトピックでは、[XAsyncProvider](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md) ライブラリの目的について説明します。3 つの非同期ライブラリの中で最も高度なもので、タスクの実行方法を扱います。たとえば、`XAsyncProvider` は、[XAsyncBlock](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md) を受け取ってタスク キューにコールバックをエンキューする実際の動作を管理し、キャンセル可能性を処理し、結果バッファーをセットアップします。

一般的に、`XAsyncProvider` ライブラリはオプションであり、通常はプロバイダーがすでに提供されているためほとんどの場合には必要ありません。ただし、[Microsoft Game Development Kit (GDK) スタイルで API を作成する場合](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md) や、[非同期タスクをキャンセル可能にする場合](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md) など、より高度な動作が必要な場合にこのライブラリを使用できます。

#### 非同期プロバイダー コールバック ライブラリ

このライブラリの動作の大部分は、[XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md) 関数に渡される非同期プロバイダー コールバックの実装を中心としています。このコールバックは、非同期呼び出しの開始から終了までの全体の流れを表し、その過程でさまざまな状態変化を処理します。次のスクリーンショットは、プロバイダーがタスクを処理する様子を簡略化して示したものです。

![プロバイダーがタスクを処理する様子を簡略化して示したスクリーンショット](https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/async_provider_diagram.png?fit=max\&auto=format\&n=sIrPFR_ir_sNKVEv\&q=85\&s=7ebe8812b5a7a51d77b5544ee3a8be93)

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

* [XAsyncProvider (API 目次)](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md)
  * 関数
    * [XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md)
* [xasync (API 目次)](https://docs.xbox.com/ja-jp/reference/system/xasync/xasync_members.md)
  * 構造体
    * [XAsyncBlock](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md)

## 関連項目

[カスタム プロバイダーのセットアップ (例)](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)

[呼び出しメソッドのセットアップ (例)](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)

[戻りデータのセットアップ (例)](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)

[キャンセル可能性のセットアップ (例)](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)

[XAsyncProvider](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md)


## Related topics

- [呼び出しメソッドのセットアップ例](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)
- [キャンセル可能性のセットアップ例](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)
- [戻りデータのセットアップ例](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)
- [非同期プログラミングの概要 (目次)](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-toc.md)
- [XAsync ライブラリの概要](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-libraries/async-library-xasync.md)
