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

# 操作說明：使用處理序工作佇列

> 操作說明：使用處理序工作佇列

## 範例

預設的*處理序工作佇列*會使用執行緒集區進行工作分派和完成分派。接受工作佇列參數的 Microsoft Game Development Kit (GDK) API 全都接受 `nullptr`，並以處理序工作佇列取代。處理序工作佇列可以被取代，也可以設定為 `nullptr`。在此情況下，需要工作佇列參數的 Microsoft Game Development Kit (GDK) API 會傳回 `E_NO_TASK_QUEUE` 錯誤。這可讓 Microsoft Game Development Kit (GDK) API 使用預設值運作，同時仍可在需要時嚴密控制工作佇列控制代碼。

下列範例示範如何使用處理序工作佇列。

```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);  
}  
```

## 另請參閱

[設計工作佇列](/zh-TW/build/core-features/common/async/async-task-queue-design)


## Related topics

- [PlayFab Multiplayer C++ SDK 版本資訊](/zh-TW/services/playfab/multiplayer/lobby/lobby-matchmaking-sdks/lobby-and-matchmaking-release-notes.md)
- [PlayFab Party 版本資訊](/zh-TW/services/playfab/multiplayer/networking/release-notes.md)
- [GDK 範例](/zh-TW/home/setup-install/samples.md)
- [Direct3D 12 程式設計指南](/zh-TW/build/gdk-and-engines/guides/directx-12-programming-guide.md)
- [認證付費服務方案](/zh-TW/publishing/game-publishing/concepts/certification/certification-paid-services.md)
