> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XblHttpCallPerformAsync

> XblHttpCallPerformAsync

# XblHttpCallPerformAsync

使用 XblHttpCallHandle 执行 HTTP 调用。

## 语法

```cpp theme={null}
HRESULT XblHttpCallPerformAsync(  
         XblHttpCallHandle call,  
         XblHttpCallResponseBodyType type,  
         XAsyncBlock* asyncBlock  
)  
```

### 参数

*call*   \_In\_\
类型：[XblHttpCallHandle](/reference/live/xsapi-c/http_call_c/handles/xblhttpcallhandle)

HTTP 调用的句柄。

*type*   \_In\_\
类型：[XblHttpCallResponseBodyType](/reference/live/xsapi-c/http_call_c/enums/xblhttpcallresponsebodytype)

用于读取此 HTTP 调用结果的响应正文类型。注意：这不影响 content-type 标头，该标头必须通过调用 [XblHttpCallRequestSetHeader](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallrequestsetheader) 来提供。

*asyncBlock*   \_Inout\_\
类型：XAsyncBlock\*

定义异步操作的 XAsyncBlock。

### 返回值

类型：HRESULT

此 API 操作的结果代码。可能的值为 S\_OK、E\_INVALIDARG、E\_OUTOFMEMORY 或 E\_FAIL。

## 备注

首先使用 XblHttpCallCreate() 创建 HTTP 句柄。然后调用 XblHttpCallRequestSet\*() 以准备 XblHttpCallHandle。然后调用 XblHttpCallPerformAsync() 以使用 XblHttpCallHandle 执行 HTTP 调用。此调用是异步的，因此工作将在后台线程上完成，并通过回调返回。执行调用是异步的，因此工作将在调用 XTaskQueueDispatch(..., XTaskQueuePort::Work) 的后台线程上完成。结果将在调用 XTaskQueueDispatch(..., XTaskQueuePort::Completion) 的线程上返回给回调，然后通过调用 XblHttpCallResponseGet\*() 获取 XblHttpCallHandle 的 HTTP 响应，从而获取 HTTP 调用的结果。当不再需要 XblHttpCallHandle 时，调用 XblHttpCallCloseHandle() 以释放与 XblHttpCallHandle 关联的内存。XblHttpCallPerformAsync 只能调用一次。若要重复此调用，请创建新的 XblHttpCallHandle。

## 要求

**头文件：** http\_call\_c.h

**库：** Microsoft.Xbox.Services.14x.GDK.C.lib

## 另请参阅

[http\_call\_c](/reference/live/xsapi-c/http_call_c/http_call_c_members)


## Related topics

- [XblHttpCallRequestSetLongHttpCall](/zh-CN/reference/live/xsapi-c/http_call_c/functions/xblhttpcallrequestsetlonghttpcall.md)
- [XblHttpCallGetResponseString](/zh-CN/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetresponsestring.md)
- [XblHttpCallGetHeader](/zh-CN/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetheader.md)
- [XblHttpCallGetResponseBodyBytes](/zh-CN/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetresponsebodybytes.md)
- [XblHttpCallRequestSetHeader](/zh-CN/reference/live/xsapi-c/http_call_c/functions/xblhttpcallrequestsetheader.md)
