> ## 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.

# HCSetHttpCallPerformFunction

> HCSetHttpCallPerformFunction

# HCSetHttpCallPerformFunction

Optionally allows the caller to implement the HTTP perform function.

## Syntax

```cpp theme={null}
HRESULT HCSetHttpCallPerformFunction(  
         HCCallPerformFunction performFunc,  
         void* performContext  
)  
```

### Parameters

*performFunc*   \_In\_\
Type: HCCallPerformFunction

A callback that implements HTTP perform function as desired.

*performContext*   \_In\_opt\_\
Type: void\*

The context for the callback.

### Return value

Type: HRESULT

Result code for this API operation. Possible values are S\_OK, or E\_HC\_ALREADY\_INITIALISED.

## Remarks

Must be called before HCInit. In the HCCallPerformFunction callback, use HCHttpCallRequestGet\*() and HCSettingsGet\*() to get information about the HTTP call and perform the call as desired and set the response with HCHttpCallResponseSet\*().

## Requirements

**Header:** httpProvider.h

**Library:** libHttpClient.GDK.lib

## See also

[httpProvider](/reference/live/httpclient/httpprovider/httpprovider_members)


## Related topics

- [HCGetHttpCallPerformFunction](/reference/live/httpclient/httpprovider/functions/hcgethttpcallperformfunction.md)
- [HCHttpCallRequestSetRequestBodyReadFunction](/reference/live/httpclient/httpclient/functions/hchttpcallrequestsetrequestbodyreadfunction.md)
- [HCHttpCallResponseSetResponseBodyWriteFunction](/reference/live/httpclient/httpclient/functions/hchttpcallresponsesetresponsebodywritefunction.md)
- [HCHttpCallPerformAsync](/reference/live/httpclient/httpclient/functions/hchttpcallperformasync.md)
- [XblHttpCallPerformAsync](/reference/live/xsapi-c/http_call_c/functions/xblhttpcallperformasync.md)
