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

# HCMockAddMock

> HCMockAddMock

# HCMockAddMock

設定 libHttpClient 在呼叫 HCHttpCallPerformAsync() 時傳回模擬回應，而不是進行網路呼叫。

## 語法

```cpp theme={null}
HRESULT HCMockAddMock(  
         HCMockCallHandle call,  
         const char* method,  
         const char* url,  
         const uint8_t* requestBodyBytes,  
         uint32_t requestBodySize  
)  
```

### 參數

*call*   \_In\_\
類型：HCMockCallHandle

代表已使用 HCMockResponseSet\*() 進行相應設定之模擬的 HC\_MOCK\_CALL\_HANDLE

*method*   \_In\_opt\_z\_\
類型：char\*

如果您希望模擬只套用至特定 URL，請傳入 UTF-8 編碼的方法和 URL。

*url*   \_In\_opt\_z\_\
類型：char\*

如果您希望模擬只套用至特定 URL，請傳入 UTF-8 編碼的方法和 URL。

*requestBodyBytes*   \_In\_reads\_bytes\_opt\_(requestBodySize)\
類型：uint8\_t\*

如果您希望模擬只套用至特定 URL 和要求字串，請傳入方法、URL 和字串本文。

*requestBodySize*   \_In\_\
類型：uint32\_t

requestBodyBytes 的大小 (以位元組為單位)。

### 傳回值

類型：HRESULT

此 API 作業的結果代碼。可能的值為 S\_OK、E\_INVALIDARG、E\_OUTOFMEMORY 或 E\_FAIL。

## 備註

若要定義模擬回應，請使用 HCMockCallCreate() 建立代表模擬的新 HC\_MOCK\_CALL\_HANDLE。然後使用 HCMockResponseSet\*() 設定模擬回應。根據預設，所有 HTTP 呼叫都會傳回模擬回應。如果您希望模擬只套用至特定 URL，請傳入 URL。如果您希望模擬只套用至特定 URL 和要求本文，請傳入 URL 和本文。依需求設定 HC\_MOCK\_CALL\_HANDLE 之後，請呼叫 HCMockAddMock() 將模擬新增至系統。您可以使用一組模擬回應多次呼叫 HCMockAddMock()，以設定多個作用中的模擬回應。如果 HTTP 呼叫符合一組模擬回應，則每次後續呼叫 HCHttpCallPerformAsync() 時，都會依序執行這些回應。當到達最後一個相符的模擬回應時，每次後續呼叫 HCHttpCallPerformAsync() 都會重複最後一個相符的模擬回應。

## 需求

**標頭：** mock.h

**程式庫：** libHttpClient.GDK.lib

## 另請參閱

[mock](/zh-TW/reference/live/httpclient/mock/mock_members)


## Related topics

- [HCMockClearMocks](/zh-TW/reference/live/httpclient/mock/functions/hcmockclearmocks.md)
- [HCMockCallCreate](/zh-TW/reference/live/httpclient/mock/functions/hcmockcallcreate.md)
- [HCMockRemoveMock](/zh-TW/reference/live/httpclient/mock/functions/hcmockremovemock.md)
- [HCMockSetMockMatchedCallback](/zh-TW/reference/live/httpclient/mock/functions/hcmocksetmockmatchedcallback.md)
- [HCMockCallDuplicateHandle](/zh-TW/reference/live/httpclient/mock/functions/hcmockcallduplicatehandle.md)
