> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XTaskQueue (API contents)

> XTaskQueue

XTaskQueue APIs

## Functions

| Function | Description |
| - | - |
| [XTaskQueueCallback](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecallback.md) | A callback that is invoked by the task queue. |
| [XTaskQueueCloseHandle](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueclosehandle.md) | Closes the task queue. |
| [XTaskQueueCreate](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecreate.md) | Creates a task queue, which can be used to queue and dispatch calls. |
| [XTaskQueueCreateComposite](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuecreatecomposite.md) | Creates a task queue composed of ports of other task queues. |
| [XTaskQueueDispatch](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuedispatch.md) | Processes an item in the task queue for the given port. |
| [XTaskQueueDuplicateHandle](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueduplicatehandle.md) | Duplicates a XTaskQueueHandle object. |
| [XTaskQueueGetCurrentProcessTaskQueue](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue.md) | Obtains a handle to the process task queue, or nullptr if there is no process task queue. |
| [XTaskQueueGetPort](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuegetport.md) | Returns the task queue port handle for the given port. |
| [XTaskQueueMonitorCallback](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuemonitorcallback.md) | A callback that is invoked by the task queue whenever a task is submitted for execution. |
| [XTaskQueueRegisterMonitor](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueregistermonitor.md) | Registers a callback that will be invoked whenever a callback is submitted to this queue. |
| [XTaskQueueRegisterWaiter](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueregisterwaiter.md) | Registers a wait handle with a task queue. |
| [XTaskQueueSetCurrentProcessTaskQueue](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuesetcurrentprocesstaskqueue.md) | Sets the given task queue as the process wide task queue. |
| [XTaskQueueSubmitCallback](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuesubmitcallback.md) | Submits a callback to the queue for the given port. |
| [XTaskQueueSubmitDelayedCallback](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueuesubmitdelayedcallback.md) | Submits a callback to the queue for the given port. |
| [XTaskQueueTerminate](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueterminate.md) | Terminates a task queue by canceling all pending items and preventning new items from being queued. |
| [XTaskQueueTerminatedCallback](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueterminatedcallback.md) | A callback that is invoked when a task queue is terminated. |
| [XTaskQueueUnregisterMonitor](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueunregistermonitor.md) | Unregisters a previously registered monitor callback. |
| [XTaskQueueUnregisterWaiter](https://docs.xbox.com/reference/system/xtaskqueue/functions/xtaskqueueunregisterwaiter.md) | Unregisters a previously registered task queue waiter. |

## Structures

| Structure | Description |
| - | - |
| [XTaskQueueRegistrationToken](https://docs.xbox.com/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md) | A token returned when registering a callback, to identify the registration. |

## Enumerations

| Enumeration | Description |
| - | - |
| [XTaskQueueDispatchMode](https://docs.xbox.com/reference/system/xtaskqueue/enums/xtaskqueuedispatchmode.md) | Describes how task queue callbacks are processed. |
| [XTaskQueuePort](https://docs.xbox.com/reference/system/xtaskqueue/enums/xtaskqueueport.md) | Declares which port of a task queue to dispatch or submit callbacks to. |

## Conceptual documentation

* [XTaskQueue library overview](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)

## See also

[System API reference](https://docs.xbox.com/reference/system/gc-reference-system-toc.md)\
[Asynchronous Programming Design Goals and Improvements](https://docs.xbox.com/build/core-features/common/async/async-whitepaper.md)\
[Asynchronous Programming Model](https://docs.xbox.com/build/core-features/common/async/async-programming-model.md)\
[Async Task Queue design](https://docs.xbox.com/build/core-features/common/async/async-task-queue-design.md)


## Related topics

- [XTaskQueue library overview](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [Create task queue](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-create-task-queue.md)
- [Dispatch task queue](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-dispatch-task-queue.md)
- [Clean up task queue](https://docs.xbox.com/build/core-features/common/async/async-libraries/async-library-xtaskqueue-example-cleanup-task-queue.md)
- [Async task queue design](https://docs.xbox.com/build/core-features/common/async/async-task-queue-design.md)
