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

# XTaskQueueCloseHandle

> XTaskQueueCloseHandle

# XTaskQueueCloseHandle

Closes the task queue.

## Syntax

```cpp theme={null}
void XTaskQueueCloseHandle(  
         XTaskQueueHandle queue  
)  
```

### Parameters

*queue*   \_In\_\
Type: XTaskQueueHandle

The queue to close.

### Return value

Type: void

## Remarks

**XTaskQueueCloseHandle** simply decrements an internal reference count on the task queue object. If there are callbacks still in the queue, those callbacks hold a reference on the queue object and they may still be called. This can pose a problem for app shutdown. When an app shuts down it will need to ensure no spurious callbacks execute after cleanup. XTaskQueue provides the [XTaskQueueTerminate](/reference/system/xtaskqueue/functions/xtaskqueueterminate) API to perform a controlled termination of a queue.

## Requirements

**Header:** XTaskQueue.h

**Library:** xgameruntime.lib

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

## See also

[XTaskQueue members](/reference/system/xtaskqueue/xtaskqueue_members)\
[Asynchronous Programming Model](/build/core-features/common/async/async-programming-model)\
[Async Task Queue Design](/build/core-features/common/async/async-task-queue-design)


## Related topics

- [XTaskQueueDuplicateHandle](/reference/system/xtaskqueue/functions/xtaskqueueduplicatehandle.md)
- [How to: Duplicating a task queue handle](/build/core-features/common/async/async-task-queue-design-howto/duplicating-task-queue-handle.md)
- [XTaskQueueGetCurrentProcessTaskQueue](/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue.md)
- [XTaskQueueTerminate](/reference/system/xtaskqueue/functions/xtaskqueueterminate.md)
- [XTaskQueue](/reference/system/xtaskqueue/xtaskqueue_members.md)
