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

# AsyncProviderData

> AsyncProviderData

# AsyncProviderData

代表傳遞給非同步提供者之回呼函式的資料。

## 語法

```cpp theme={null}
typedef struct XAsyncProviderData {  
    XAsyncBlock* async;  
    size_t bufferSize;  
    void* buffer;  
    void* context;  
} XAsyncProviderData  
```

### 成員

*async*\
類型：[XAsyncBlock\*](/zh-TW/reference/system/xasync/structs/xasyncblock)

指向保存非同步呼叫資料之 [XAsyncBlock](/zh-TW/reference/system/xasync/structs/xasyncblock) 的指標。

*bufferSize*\
類型：size\_t

*buffer* 中指定之結果緩衝區的大小 (以位元組為單位)。只有在以 [XAsyncOp::GetResult](/zh-TW/reference/system/xasyncprovider/enums/xasyncop) 作業代碼呼叫回呼函式時，此值才有效，且此值會等於或大於對應 [XAsyncComplete](/zh-TW/reference/system/xasyncprovider/functions/xasynccomplete) 函式呼叫之 *requiredBufferSize* 參數所指定的值。

*buffer*\
類型：void\*

指向回呼函式之結果緩衝區的指標。只有在以 [XAsyncOp::GetResult](/zh-TW/reference/system/xasyncprovider/enums/xasyncop) 作業代碼呼叫回呼函式時，此值才有效。

*context*\
類型：void\*

呼叫 [XAsyncBegin](/zh-TW/reference/system/xasyncprovider/functions/xasyncbegin) 時傳遞給回呼函式的內容指標。

## 備註

此結構代表傳遞給非同步提供者之回呼函式的資料。此結構中的資料在每次呼叫回呼函式時都可能變更。回呼函式會被重複呼叫，以執行由每次呼叫所指定之 [XAsyncOp](/zh-TW/reference/system/xasyncprovider/enums/xasyncop) 作業代碼決定的非同步工作，而此結構中的資料也可能隨每次呼叫而變更。*buffer* 和 *bufferSize* 的值只有在以 `XAsyncOp::GetResult` 作業代碼呼叫回呼函式時才有效。*context* 的值在以任何作業代碼呼叫回呼函式時都有效，但只有在以 `XAsyncOp::Cleanup` 作業代碼呼叫回呼函式時才應釋放。

如需在為 `XAsyncOp` 中的 `GetResult` 和 `Cleanup` 作業代碼執行非同步工作時與 `XAsyncProviderData` 互動的回呼函式範例，請參閱[非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model#heading-7)中的「非同步程式庫」一節。

## 需求

**標頭：** XAsyncProvider.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[XAsyncProvider 成員](/zh-TW/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncComplete](/zh-TW/reference/system/xasyncprovider/functions/xasynccomplete)\
[XAsyncBegin](/zh-TW/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncOp](/zh-TW/reference/system/xasyncprovider/enums/xasyncop)\
[非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model)


## Related topics

- [AsyncProviderData](/ko/reference/system/xasyncprovider/structs/xasyncproviderdata.md)
- [XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncProvider function](/reference/system/xasyncprovider/functions/xasyncprovider.md)
