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

# XAsyncCompletionRoutine

> XAsyncCompletionRoutine

# XAsyncCompletionRoutine

代表非同步呼叫的完成回呼。

## 語法

```cpp theme={null}
void XAsyncCompletionRoutine(  
         XAsyncBlock* asyncBlock  
)  
```

### 參數

*asyncBlock*   \_Inout\_\
類型：[XAsyncBlock\*](/zh-TW/reference/system/xasync/structs/xasyncblock)

完成回呼之 [XAsyncBlock](/zh-TW/reference/system/xasync/structs/xasyncblock) 的指標。

### 傳回值

類型：void

## 備註

您可以選擇性地指定 `XAsyncCompletionRoutine` 指標，為非同步呼叫提供*完成回呼*。完成回呼是在非同步呼叫完成後執行的回呼函式。您可以在非同步呼叫之 [XAsyncBlock](/zh-TW/reference/system/xasync/structs/xasyncblock) 結構的 `callback` 成員中指定 `XAsyncCompletionRoutine` 指標。

一般而言，完成回呼會在另一個執行緒上處理非同步呼叫的結果。完成回呼代表在非同步呼叫完成時叫用的回呼函式。回呼函式會接受 `XAsyncBlock` 指標，之後會用來取得回呼函式的結果。

如果您指定完成回呼，可以使用 [XAsyncGetStatus](/zh-TW/reference/system/xasync/functions/xasyncgetstatus) 函式定期檢查完成回呼是否已完成，然後視需要使用 [XAsyncGetResult](/zh-TW/reference/system/xasyncprovider/functions/xasyncgetresult) 和 [XAsyncGetResultSize](/zh-TW/reference/system/xasync/functions/xasyncgetresultsize) 從已完成的工作取得結果。

即使叫用 [XAsyncCancel](/zh-TW/reference/system/xasync/functions/xasynccancel) 來取消非同步呼叫，仍會叫用完成回呼。

使用 [XAsyncGetStatus](/zh-TW/reference/system/xasync/functions/xasyncgetstatus) 或完成回呼的 `Get\*Result` 方法來取得非同步呼叫的結果。如果非同步呼叫已取消，這些方法會傳回 `E_ABORT`。如需非同步提供者實作模式 (包括 `Get\*Result` 方法) 的詳細資訊，請參閱[非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model)。

## 需求

**標頭：** XAsync.h

**程式庫：** xgameruntime.lib

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 概念文件

* [非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model)

## 另請參閱

[XAsync 成員](/zh-TW/reference/system/xasync/xasync_members)\
[XAsyncGetStatus](/zh-TW/reference/system/xasync/functions/xasyncgetstatus)\
[非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncCompletionRoutine](/reference/system/xasync/functions/xasynccompletionroutine.md)
- [XAsyncCancel](/reference/system/xasync/functions/xasynccancel.md)
