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

# Procedimiento: Duplicación de un identificador de cola de tareas

> Procedimiento: Duplicación de un identificador de cola de tareas

## Ejemplo

Si tiene trabajo de larga duración, puede que quiera duplicar el identificador de la cola de tareas mientras dure el trabajo. De esta manera, cualquiera que llame a `XTaskQueueCloseHandle` no cerrará la cola mientras usted todavía la necesite. Esto se muestra en el ejemplo siguiente.

```c++ theme={null}
void DuplicatingTaskQueueHandle() 
{ 
    XTaskQueueHandle queue; 
 
    HRESULT hr = XTaskQueueCreate( 
        XTaskQueueDispatchMode::Manual,  
        XTaskQueueDispatchMode::Manual,  
        &queue); 
 
    if (FAILED(hr)) 
    { 
        printf("Failed to create task queue: 0x%x\r\n", hr); 
        return; 
    } 
 
    class LongRunningWork 
    { 
    public: 
        HRESULT Initialize(XTaskQueueHandle queue) 
        { 
            return XTaskQueueDuplicateHandle(queue, &m_queue); 
        } 
         
        ~LongRunningWork() 
        { 
            if (m_queue != nullptr) 
            { 
                XTaskQueueCloseHandle(m_queue); 
            } 
        } 
 
    private: 
        XTaskQueueHandle m_queue = nullptr; 
    }; 
 
    LongRunningWork work; 
    hr = work.Initialize(queue); 
     
    // Note that the queue handle for LongRunningWork is still valid. 
    XTaskQueueCloseHandle(queue); 
 
    if (FAILED(hr)) 
    { 
        printf("Failed to duplicate queue handle: 0x%x\r\n", hr); 
    } 
} 
```

## Consulte también

[Diseño de la cola de tareas](/build/core-features/common/async/async-task-queue-design)


## Related topics

- [Procedimiento: Uso de un elemento de espera de cola de tareas](/es/build/core-features/common/async/async-task-queue-design-howto/using-task-queue-waiter.md)
- [Diseño de colas de tareas asincrónicas](/es/build/core-features/common/async/async-task-queue-design.md)
- [Procedimiento: Uso de una cola de tareas con un bucle de mensajes de Windows](/es/build/core-features/common/async/async-task-queue-design-howto/task-queue-windows-msg-loop.md)
- [Procedimiento: Creación de una cola de tareas compuesta](/es/build/core-features/common/async/async-task-queue-design-howto/creating-composite-task-queue.md)
- [Procedimiento: Uso de la cola de tareas del proceso](/es/build/core-features/common/async/async-task-queue-design-howto/using-process-task-queue.md)
