> ## 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](/zh-TW/reference/live/xsapi-c/http_call_c/handles/xblhttpcallhandle)

HTTP 呼叫的控制代碼。

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

用來讀取此 HTTP 呼叫結果的回應本文類型。注意：這不會影響 content-type 標頭，該標頭必須透過呼叫 [XblHttpCallRequestSetHeader](/zh-TW/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\*() 取得 HTTP 呼叫的結果，以取得 XblHttpCallHandle 的 HTTP 回應。當不再需要 XblHttpCallHandle 時，請呼叫 XblHttpCallCloseHandle() 以釋放與 XblHttpCallHandle 相關聯的記憶體。XblHttpCallPerformAsync 只能呼叫一次。若要重複呼叫，請建立新的 XblHttpCallHandle。

## 需求

**標頭：** http\_call\_c.h

**程式庫：** Microsoft.Xbox.Services.14x.GDK.C.lib

## 另請參閱

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


## Related topics

- [XblHttpCallPerformAsync](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallperformasync.md)
- [XblHttpCallRequestSetLongHttpCall](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallrequestsetlonghttpcall.md)
- [XblHttpCallGetResponseString](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetresponsestring.md)
- [XblHttpCallGetResponseBodyBytes](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetresponsebodybytes.md)
- [XblHttpCallGetResponseBodyBytesSize](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallgetresponsebodybytessize.md)
