AsyncProviderData
非同期プロバイダーのコールバック関数に渡されるデータを表します。
構文
typedef struct XAsyncProviderData {
XAsyncBlock* async;
size_t bufferSize;
void* buffer;
void* context;
} XAsyncProviderData
メンバー
async
型: XAsyncBlock*
非同期呼び出しに対するデータを保持する XAsyncBlock へのポインター。
bufferSize
型: size_t
buffer に指定した結果バッファーのサイズ (バイト単位) です。 この値はコールバック関数が XAsyncOp::GetResult 操作コードで呼び出される場合にのみ有効で、値は対応する XAsyncComplete 関数呼び出しの requiredBufferSize パラメーターに指定した値以上になります。
buffer
型: void*
コールバック関数の結果バッファーへのポインター。 この値は、コールバック関数が XAsyncOp::GetResult 操作コードで呼び出された場合にのみ有効です。
context
型: void*
XAsyncBegin が呼び出されたときにコールバック関数に渡されるコンテキスト ポインター。
解説
この構造は、非同期プロバイダーのコールバック関数に渡されるデータを表します。 この構造のデータは、コールバック関数が呼び出されるたびに変更できます。 コールバック関数は各呼び出しに対して指定する XAsyncOp 操作コードによって指定された非同期処理を実行するために繰り返し呼び出され、呼び出しごとにこの構造のデータを変更することもできます。
buffer と bufferSize の値は、コールバック関数が XAsyncOp::GetResult
操作コードで呼び出された場合にのみ有効です。
context の値はコールバック関数が任意の操作コードで呼び出された場合に有効ですが、解放する必要があるのはコールバック関数が XAsyncOp::Cleanup
操作コードで呼び出された場合のみです。
XAsyncOp
の GetResult
および Cleanup
操作コードに対する非同期処理を実行する場合、XAsyncProviderData
と連携するコールバック関数の例については、「非同期プログラミング モデル」の「非同期ライブラリ」のセクションを参照してください。
要件
ヘッダー: XAsyncProvider.h
サポートされているプラットフォーム: Windows、Xbox One ファミリ本体と Xbox Series 本体
関連項目
XAsyncProvider のメンバー
XAsyncComplete
XAsyncBegin
XAsyncOp
非同期プログラミング モデル