> ## 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/zh-TW/reference/system/xasyncprovider/xasyncprovider_members.md) 程式庫的用途。它是
三個非同步程式庫中最進階的一個，負責處理工作的執行方式。例如，
`XAsyncProvider` 會管理取得 [XAsyncBlock](https://docs.xbox.com/zh-TW/reference/system/xasync/structs/xasyncblock.md)
並將回呼加入任何工作佇列的實際行為、處理可取消性，
以及設定結果緩衝區。

一般而言，`XAsyncProvider` 程式庫是選用的，在大多數情況下並不需要，因為
通常已經有提供者可用。不過，當需要更進階的行為時，
例如[以 Microsoft Game Development Kit (GDK)
樣式建立 API](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md) 以及
[讓非同步工作可以取消](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)，就可以使用此程式庫。

#### 非同步提供者回呼程式庫

此程式庫的大部分行為都以傳遞給
[XAsyncBegin](https://docs.xbox.com/zh-TW/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/zh-TW/reference/system/xasyncprovider/xasyncprovider_members.md)
  * 函式
    * [XAsyncBegin](https://docs.xbox.com/zh-TW/reference/system/xasyncprovider/functions/xasyncbegin.md)
* [xasync (API 內容)](https://docs.xbox.com/zh-TW/reference/system/xasync/xasync_members.md)
  * 結構
    * [XAsyncBlock](https://docs.xbox.com/zh-TW/reference/system/xasync/structs/xasyncblock.md)

## 另請參閱

[設定自訂提供者 (範例)](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)

[設定叫用方法 (範例)](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)

[設定傳回資料 (範例)](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)

[設定可取消性 (範例)](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)

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


## Related topics

- [XAsyncProvider (API 內容)](https://docs.xbox.com/zh-TW/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncBlock](https://docs.xbox.com/zh-TW/reference/system/xasync/structs/xasyncblock.md)
- [XAsyncBegin](https://docs.xbox.com/zh-TW/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [設定自訂提供者範例](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)
- [設定傳回資料範例](https://docs.xbox.com/zh-TW/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)
