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 主机