Skip to main content

XAsyncBegin

XAsyncBlock を初期化し、非同期プロバイダーによる非同期作業を開始します。

Syntax

Parameters

asyncBlock   _Inout_
型: XAsyncBlock*
非同期呼び出しのデータを保持する XAsyncBlock へのポインター。 context   _In_opt_
型: void*
省略可能。XAsyncProvider コールバック関数に渡される XAsyncProviderData オブジェクトに格納されるコンテキスト ポインター。 identity   _In_opt_
型: void*
省略可能。非同期呼び出しを識別するために使用できる任意のトークンへのポインター。 identityName   _In_opt_
型: char*
省略可能。非同期呼び出しを提供する関数の名前を表す文字列。このパラメーターの値は、通常 __FUNCTION__ コンパイラ マクロに設定されます。 provider   _In_
型: XAsyncProvider*
非同期呼び出しに対して呼び出される XAsyncProvider コールバック関数へのポインター。

Return value

型: HRESULT 成功した場合は S_OK を返します。それ以外の場合はエラー コードを返します。エラー コードの一覧については、Error Codes を参照してください。

Remarks

XAsyncBegin は、非同期プロバイダーが非同期作業を開始する必要があることを示すために呼び出されます。XAsyncBegin が呼び出された後、XAsyncGetResult などの他の XAsyncProvider 関数は、意味のあるデータを提供します。 XAsyncBegin が呼び出されると、provider に指定されたコールバック関数が XAsyncProviderop パラメーターに XAsyncOp::Begin を指定して呼び出されます。コールバック関数がこの操作コードを実装している場合は、XAsyncSchedule を呼び出すか、外部の手段を通じて非同期作業を開始する必要があります。XAsyncBegin が戻った後、コールバック関数がシステム定義のスレッド上で非同期作業を開始したと見なされます。
provider に指定されたコールバック関数は、XAsyncBegin の呼び出しチェーン内で同期的に処理されます。コールバック関数が実行する非同期作業は、スレッドをブロックしてはなりません。
identity および identityName パラメーターを使用して、コールバック関数への XAsyncOp::BeginXAsyncOp::GetResult の呼び出しが一致しないケースを識別および管理できます。通常、identity の値は XAsyncBegin を呼び出した関数の関数ポインターに設定され、identityName の値は __FUNCTION__ コンパイラ マクロに設定されます。

Requirements

ヘッダー: XAsyncProvider.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体および XBOX Series 本体

Conceptual documentation

See also

XAsyncProvider Members
XAsyncProviderData
XAsyncProvider
XAsyncGetResult
Asynchronous Programming Model
最終更新日 2026年8月24日