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;否则,返回错误代码。有关错误代码列表,请参阅错误代码

Remarks

调用 XAsyncBegin 以指示异步提供程序应开始异步工作。调用 XAsyncBegin 后,其他 XAsyncProvider 函数(例如 XAsyncGetResult)将提供有意义的数据。 调用 XAsyncBegin 时,将调用 provider 中指定的回调函数,并在 XAsyncProviderop 参数中指定 XAsyncOp::Begin。如果回调函数实现了此操作代码,它应通过调用 XAsyncSchedule 或通过外部方式开始其异步工作。XAsyncBegin 返回后,假定回调函数已在系统定义的线程上开始异步工作。
provider 中指定的回调函数在 XAsyncBegin 调用链中同步处理。回调函数执行的异步工作不得阻塞线程。
可以使用 identityidentityName 参数来标识和管理对回调函数不匹配的 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
异步编程模型
最后修改于 2026年8月24日