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

表示传递给异步提供程序回调函数的数据。

## Syntax

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

### Members

*async*\
类型：[XAsyncBlock\*](/reference/system/xasync/structs/xasyncblock)

指向保存异步调用数据的 [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) 的指针。

*bufferSize*\
类型：size\_t

*buffer* 中指定的结果缓冲区大小（以字节为单位）。仅当使用 [XAsyncOp::GetResult](/reference/system/xasyncprovider/enums/xasyncop) 操作代码调用回调函数时，此值才有效，且该值将等于或大于为对应的 [XAsyncComplete](/reference/system/xasyncprovider/functions/xasynccomplete) 函数调用的 *requiredBufferSize* 参数指定的值。

*buffer*\
类型：void\*

指向回调函数结果缓冲区的指针。仅当使用 [XAsyncOp::GetResult](/reference/system/xasyncprovider/enums/xasyncop) 操作代码调用回调函数时，此值才有效。

*context*\
类型：void\*

调用 [XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin) 时传递给回调函数的上下文指针。

## Remarks

此结构表示传递给异步提供程序回调函数的数据。每次调用回调函数时，此结构中的数据都可能会更改。会反复调用回调函数以执行由每次调用指定的 [XAsyncOp](/reference/system/xasyncprovider/enums/xasyncop) 操作代码确定的异步工作，此结构中的数据也可能随每次调用而变化。仅当使用 `XAsyncOp::GetResult` 操作代码调用回调函数时，*buffer* 和 *bufferSize* 的值才有效。使用任何操作代码调用回调函数时，*context* 的值都有效，但仅应在使用 `XAsyncOp::Cleanup` 操作代码调用回调函数时释放它。

有关在执行 `XAsyncOp` 中 `GetResult` 和 `Cleanup` 操作代码的异步工作时与 `XAsyncProviderData` 交互的回调函数示例，请参阅[异步编程模型](/build/core-features/common/async/async-programming-model#heading-7)中的"异步库"部分。

## Requirements

**头文件：** XAsyncProvider.h

**受支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## See also

[XAsyncProvider Members](/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncComplete](/reference/system/xasyncprovider/functions/xasynccomplete)\
[XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncOp](/reference/system/xasyncprovider/enums/xasyncop)\
[异步编程模型](/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncProvider](/zh-CN/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncProvider function](/zh-CN/reference/system/xasyncprovider/functions/xasyncprovider.md)
- [XAsyncBegin](/zh-CN/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [XAsyncOp](/zh-CN/reference/system/xasyncprovider/enums/xasyncop.md)
- [XAsyncProvider 库概述](/zh-CN/build/core-features/common/async/async-libraries/async-library-xasyncprovider.md)
