Skip to main content

XTaskQueueSubmitDelayedCallback

将回调提交到给定端口的队列。

Syntax

Parameters

queue   _In_
类型:XTaskQueueHandle
要向其提交回调的队列。 port   _In_
类型:XTaskQueuePort
要向其提交回调的端口。回调可以分配给工作端口或完成端口。 delayMs   _In_
类型:uint32_t
在将回调提交到队列之前要延迟的毫秒数。
可以提交回调,让其在将来某个时间添加到队列。如果 delayMs 为非零值,则回调将放置在待处理列表中,并使用下一个最接近的等待时间来初始化计时器。经过该时间后,具有下一个时间的回调将放置在执行列表中。队列将引发 XTaskQueueMonitorCallback,如果队列以线程池调度模式运行,则会提交线程池工作。
callbackContext   _In_opt_
类型:void*
将传递给回调的可选上下文指针。 callback   _In_
类型:XTaskQueueCallback*
指向回调函数的指针。

Return value

类型:HRESULT HRESULT 成功或错误代码。

Remarks

此回调将在 delayMs 毫秒后添加到队列。 alert 性能说明:
向队列添加项目必须是无锁且无等待的,以满足上游代码的性能要求。以下 API 是无锁的:
以下示例允许通过使用 XTaskQueueSubmitDelayedCallback 函数在将来提交回调。这是短暂延迟后重试失败调用的绝佳方式;它也可以用作定期事件的低成本计时器。
SubmitCallback 是在 XTaskQueueSubmitCallback 函数的代码示例中定义的帮助程序函数。

Requirements

头文件: XTaskQueue.h 库: xgameruntime.lib 受支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机

See also

XTaskQueue 成员
异步编程模型
异步任务队列设计
最后修改于 2026年8月24日