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

# XTaskQueueCallback

> XTaskQueueCallback

# XTaskQueueCallback

由任务队列调用的回调。

## Syntax

```cpp theme={null}
void XTaskQueueCallback(  
         void* context,  
         bool canceled  
)  
```

### Parameters

*context*   \_In\_opt\_\
类型：void\*

可选。调用 [XTaskQueueSubmitCallback](/reference/system/xtaskqueue/functions/xtaskqueuesubmitcallback) 时传入的上下文指针。

*canceled*   \_In\_\
类型：bool

如果为 true，则由于任务队列正在终止，因此正在取消回调。

### Return value

类型：void

## Remarks

`XTaskQueueCallback` 回调是为了在任务队列上执行工作而实现的。可以通过调用 [XTaskQueueSubmitCallback](/reference/system/xtaskqueue/functions/xtaskqueuesubmitcallback) 或 [XTaskQueueSubmitDelayedCallback](/reference/system/xtaskqueue/functions/xtaskqueuesubmitdelayedcallback) 将回调提交到任务队列的工作端口或完成端口。任务队列的工作端口和完成端口可以有独立的调度模式，`XTaskQueueCallback` 回调可以提交到任一端口。通常，提交到工作端口的回调在完成其工作后会向完成端口提交相应的回调。

`canceled` 参数的用途是确保在取消回调时可以正确释放该回调分配的任何资源。如果调用 `XTaskQueueCallback` 回调并且 `canceled` 设置为 true，则表示已通过调用 [XTaskQueueTerminate](/reference/system/xtaskqueue/functions/xtaskqueueterminate) 终止该回调的任务队列并已取消该回调。回调应释放所有已分配的资源，包括在 `context` 中分配的内存，并且不执行任何其他工作。

有关示例，请参阅[提交回调](/build/core-features/common/async/async-task-queue-design-howto/submitting-callbacks)。

## Requirements

**头文件：** XTaskQueue.h

**库：** xgameruntime.lib

**受支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## See also

[XTaskQueue 成员](/reference/system/xtaskqueue/xtaskqueue_members)\
[异步编程模型](/build/core-features/common/async/async-programming-model)\
[异步任务队列设计](/build/core-features/common/async/async-task-queue-design)


## Related topics

- [XTaskQueueSubmitCallback](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueuesubmitcallback.md)
- [XTaskQueueSubmitDelayedCallback](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueuesubmitdelayedcallback.md)
- [XTaskQueue](/zh-CN/reference/system/xtaskqueue/xtaskqueue_members.md)
- [XTaskQueueRegisterWaiter](/zh-CN/reference/system/xtaskqueue/functions/xtaskqueueregisterwaiter.md)
- [异步任务队列设计](/zh-CN/build/core-features/common/async/async-task-queue-design.md)
