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

# XAsyncProviderData

> AsyncProviderData

# AsyncProviderData

非同期プロバイダーのコールバック関数に渡されるデータを表します。

## Syntax

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

### Members

*async*\
型: [XAsyncBlock\*](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md)

非同期呼び出しのデータを保持する [XAsyncBlock](https://docs.xbox.com/ja-jp/reference/system/xasync/structs/xasyncblock.md) へのポインター。

*bufferSize*\
型: size\_t

*buffer* に指定された結果バッファーのサイズ (バイト単位)。この値は、コールバック関数が [XAsyncOp::GetResult](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/enums/xasyncop.md) 操作コードで呼び出された場合にのみ有効で、対応する [XAsyncComplete](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasynccomplete.md) 関数呼び出しの *requiredBufferSize* パラメーターに指定された値以上になります。

*buffer*\
型: void\*

コールバック関数の結果バッファーへのポインター。この値は、コールバック関数が [XAsyncOp::GetResult](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/enums/xasyncop.md) 操作コードで呼び出された場合にのみ有効です。

*context*\
型: void\*

[XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md) が呼び出されたときにコールバック関数に渡されるコンテキスト ポインター。

## Remarks

この構造体は、非同期プロバイダーのコールバック関数に渡されるデータを表します。この構造体のデータは、コールバック関数が呼び出されるたびに変化する可能性があります。コールバック関数は、各呼び出しに指定された [XAsyncOp](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/enums/xasyncop.md) 操作コードによって決まる非同期作業を実行するために繰り返し呼び出され、この構造体のデータも呼び出しごとに変化する可能性があります。*buffer* および *bufferSize* の値は、コールバック関数が `XAsyncOp::GetResult` 操作コードで呼び出された場合にのみ有効です。*context* の値は、コールバック関数がどの操作コードで呼び出されても有効ですが、コールバック関数が `XAsyncOp::Cleanup` 操作コードで呼び出された場合にのみ解放する必要があります。

`XAsyncOp` からの `GetResult` および `Cleanup` 操作コードの非同期作業を実行する際に、`XAsyncProviderData` とやり取りするコールバック関数の例については、[Asynchronous Programming Model](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-programming-model.md#heading-7) の "Async Library" セクションを参照してください。

## Requirements

**ヘッダー:** XAsyncProvider.h

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## See also

[XAsyncProvider Members](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md)\
[XAsyncComplete](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasynccomplete.md)\
[XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md)\
[XAsyncOp](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/enums/xasyncop.md)\
[Asynchronous Programming Model](https://docs.xbox.com/ja-jp/build/core-features/common/async/async-programming-model.md)


## Related topics

- [XAsyncProvider](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncprovider.md)
- [XAsyncOp](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/enums/xasyncop.md)
- [XAsyncBegin](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [XAsyncProvider (API の内容)](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncComplete](https://docs.xbox.com/ja-jp/reference/system/xasyncprovider/functions/xasynccomplete.md)
