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

# Procédure : utilisation de la file d'attente de tâches du processus

> Procédure : utilisation de la file d'attente de tâches du processus

## Exemple

La *file d'attente de tâches du processus* par défaut utilise le pool de threads pour la distribution du travail et des achèvements. Les API du Microsoft Game Development Kit (GDK) qui prennent des paramètres de file d'attente de tâches acceptent toutes `nullptr` et y substituent la file d'attente de tâches du processus. Celle-ci peut être remplacée. La file d'attente de tâches du processus peut également être définie sur `nullptr`. Dans ce cas, les API du Microsoft Game Development Kit (GDK) qui exigent un paramètre de file d'attente de tâches échouent avec l'erreur `E_NO_TASK_QUEUE`. Cela permet aux API du Microsoft Game Development Kit (GDK) de fonctionner avec des valeurs par défaut tout en permettant un contrôle étroit des handles de file d'attente de tâches, au besoin.

L'exemple suivant montre comment utiliser la file d'attente de tâches du processus.

```c++ theme={null}
void UsingProcessTaskQueue()  
{  
    XTaskQueueHandle queue = GetCurrentProcessTaskQueue();  
  
    auto callback = [](void*, bool)  
    {  
        printf("Work callback invoked.\r\n");  
    };  
  
    HRESULT hr = XTaskQueueSubmitCallback(  
        queue, XTaskQueuePort::Work,  
        nullptr, callback);  
  
    if (FAILED(hr))  
    {  
        printf("Failed to submit callback: %x\r\n", hr);  
        return;  
    }  
  
    // You can replace the process task queue.  
    hr = XTaskQueueCreate(  
        XTaskQueueDispatchMode::Manual,  
        XTaskQueueDispatchMode::Manual,  
        &queue);  
  
    if (FAILED(hr))  
    {  
        printf("Failed to create new task queue: %x\r\n", hr);  
        return;  
    }  
  
    XTaskQueueSetCurrentProcessTaskQueue(queue);  
  
    XTaskQueueHandle processQueue;  
    XTaskQueueGetCurrentProcessTaskQueue(&processQueue);  
    printf("Process task queue: %p. Our queue: %p\r\n",  
        processQueue, queue);  
    XTaskQueueCloseHandle(processQueue);  
  
    // You can set the process queue to nullptr to force everyone to pass a queue  
    // as a parameter.  
    XTaskQueueSetCurrentProcessTaskQueue(nullptr);  
    XTaskQueueGetCurrentProcessTaskQueue(&processQueue);  
    printf("Process task queue: %p.\r\n",  
        processQueue);  
}  
```

## Voir aussi

[Conception de la file d'attente de tâches](/fr-CA/build/core-features/common/async/async-task-queue-design)


## Related topics

- [Notes de version du SDK C++ PlayFab Multiplayer](/fr-CA/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
- [Notes de version de PlayFab Party](/fr/services/playfab/multiplayer/networking/release-notes.md)
- [Exemples du GDK](/fr-CA/home/setup-install/samples.md)
- [Étapes du test de validation des supports](/fr/publishing/game-publishing/concepts/certification/certification-media-validation-test-steps.md)
- [Guide de programmation Direct3D 12](/fr-CA/build/gdk-and-engines/guides/directx-12-programming-guide.md)
