XTaskQueueTerminate
通过取消所有挂起项并阻止将新项排入队列来终止任务队列。Syntax
Parameters
queue _In_类型:XTaskQueueHandle 要终止的队列。 wait _In_
类型:bool True 表示等待终止完成。 callbackContext _In_opt_
类型:void* 要传递给回调的可选上下文指针。 callback _In_opt_
类型:XTaskQueueTerminatedCallback* 可选回调,将在队列终止时调用。
Return value
类型:HRESULT HRESULT 成功或错误代码。Remarks
此函数在时间敏感线程上调用不安全。有关详细信息,请参阅时间敏感线程。
- 两个端口的所有回调都将在其 canceled 参数设置为 true 的情况下被调用。
- 工作端口上的所有挂起回调将被调度。向工作端口提交新回调将失败并返回 E_ABORT。
- 完成端口上的所有挂起回调将被调度。向完成端口提交新回调将失败并返回 E_ABORT。
- XTaskQueueTerminate 不会关闭队列句柄。终止之后,仍需要调用 XTaskQueueCloseHandle。
- 如果在通过调用 XTaskQueueDispatch 为队列回调提供服务的线程上调用 XTaskQueueTerminate,请勿将 wait 参数传入 true,否则代码可能会死锁。
SubmitCallback 是在 XTaskQueueSubmitCallback 函数的代码示例中定义的帮助程序函数。
Requirements
头文件: XTaskQueue.h 库: xgameruntime.lib 受支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机Conceptual documentation
See also
XTaskQueue 成员异步编程模型
异步任务队列设计
