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 中指定的回调函数,并在 XAsyncProvider 的 op 参数中指定 XAsyncOp::Begin。如果回调函数实现了此操作代码,它应通过调用 XAsyncSchedule 或通过外部方式开始其异步工作。XAsyncBegin 返回后,假定回调函数已在系统定义的线程上开始异步工作。
provider 中指定的回调函数在
XAsyncBegin 调用链中同步处理。回调函数执行的异步工作不得阻塞线程。XAsyncOp::Begin 和 XAsyncOp::GetResult 调用。通常,identity 的值设置为调用 XAsyncBegin 的函数的函数指针,identityName 的值设置为 __FUNCTION__ 编译器宏。
Requirements
头文件: XAsyncProvider.h 库: xgameruntime.lib 受支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机Conceptual documentation
See also
XAsyncProvider MembersXAsyncProviderData
XAsyncProvider
XAsyncGetResult
异步编程模型
