XAsyncGetResult

从异步提供程序返回异步调用的结果。

语法

HRESULT XAsyncGetResult(  
         XAsyncBlock* asyncBlock,  
         const void* identity,  
         size_t bufferSize,  
         void* buffer,  
         size_t* bufferUsed  
)  

参数

asyncBlock _Inout_
类型:XAsyncBlock*

指向传递到 XAsyncBegin 用于异步调用的 XAsyncBlock 的指针。

identity _In_opt_
类型:void*

可选。 指向可用于标识异步调用的任意令牌的指针。 如果为相应的 XAsyncBegin 调用的标识参数指定了值,则必须在此处指定相同的指针。

bufferSize _In_
类型:size_t

缓冲区中指定的结果缓冲区的大小(字节)。

buffer _Out_writes_bytes_to_opt_(bufferSize, *bufferUsed)
类型:void*

指向结果缓冲区的指针。

bufferUsed _Out_opt_
类型:size_t*

可选。 包含写入缓冲区中指定的结果缓冲区的字节数的指针。 此值定义为 requiredResultSize 参数的值,该参数由调用 XAsyncComplete 时的异步提供程序指定。

返回值

类型:HRESULT

如果成功,则返回 S_OK;否则返回错误代码。 有关错误代码的列表,请参阅错误代码

备注

如果异步调用具有数据有效负载,则请调用此函数以返回数据有效负载。 如果异步调用没有数据有效负载,则无需调用此函数。 如果为没有数据有效负载的异步调用调用该函数,则该函数将返回错误代码 E_NOT_SUPPORTED

如果为此异步调用的 XAsyncBegin 函数的标识参数指定了一个值,则也必须为此函数的标识参数提供相同的值。 否则,将出现调用不匹配的情况,并且该函数将返回错误代码 E_INVALIDARG

完成此函数并将结果返回到缓冲区中指定的结果缓冲区后,asyncBlock 中指定的 XAsyncBlock 将完成且不再与异步调用关联。

要求

头文件: XAsyncProvider.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XAsyncProvider 成员
XAsyncBegin
XAsyncComplete
异步编程模型