Skip to main content

XAsyncBegin

初始化 XAsyncBlock,並由非同步提供者開始非同步工作。

語法

參數

asyncBlock   _Inout_
類型:XAsyncBlock*
指向保存非同步呼叫資料之 XAsyncBlock 的指標。 context   _In_opt_
類型:void*
選擇性。要儲存在傳遞給 XAsyncProvider 回呼函式之 XAsyncProviderData 物件中的內容指標。 identity   _In_opt_
類型:void*
選擇性。指向可用來識別非同步呼叫之任意權杖的指標。 identityName   _In_opt_
類型:char*
選擇性。為提供非同步呼叫之函式命名的字串。此參數的值通常設定為 __FUNCTION__ 編譯器巨集。 provider   _In_
類型:XAsyncProvider*
指向要為非同步呼叫叫用之 XAsyncProvider 回呼函式的指標。

傳回值

類型:HRESULT 如果成功,則傳回 S_OK;否則傳回錯誤碼。如需錯誤碼清單,請參閱錯誤碼。

備註

叫用 XAsyncBegin 表示非同步提供者應開始非同步工作。叫用 XAsyncBegin 之後,其他 XAsyncProvider 函式 (例如 XAsyncGetResult) 就會提供有意義的資料。 叫用 XAsyncBegin 時,會叫用 provider 中指定的回呼函式,並在 XAsyncProvider 的 op 參數中指定 XAsyncOp::Begin。如果回呼函式實作了此作業代碼,就應透過呼叫 XAsyncSchedule 或透過外部方式開始其非同步工作。XAsyncBegin 傳回之後,會假設回呼函式已在系統定義的執行緒上開始非同步工作。
provider 中指定的回呼函式會在 XAsyncBegin 呼叫鏈中同步處理。回呼函式執行的非同步工作不得封鎖執行緒。
您可以使用 identity 和 identityName 參數來識別和管理對回呼函式不相符的 XAsyncOp::Begin 和 XAsyncOp::GetResult 呼叫。一般而言,identity 的值會設定為叫用 XAsyncBegin 之函式的函式指標,而 identityName 的值會設定為 __FUNCTION__ 編譯器巨集。

需求

標頭: XAsyncProvider.h 程式庫: xgameruntime.lib 支援的平台: Windows、XBOX One 系列主機和 XBOX Series 主機

概念文件

另請參閱

XAsyncProvider 成員
XAsyncProviderData
XAsyncProvider
XAsyncGetResult
非同步程式設計模型
Last modified on October 6, 2026