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

# XTaskQueueSetCurrentProcessTaskQueue

> XTaskQueueSetCurrentProcessTaskQueue

# XTaskQueueSetCurrentProcessTaskQueue

將指定的工作佇列設定為整個處理序的工作佇列。

## 語法

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

### 參數

*queue*   \_In\_\
類型：XTaskQueueHandle

要設定為處理序預設工作佇列的佇列。

### 傳回值

類型：void

## 備註

<Note>在時間敏感執行緒上呼叫此函式並不安全。如需詳細資訊，請參閱[時間敏感執行緒](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)。</Note>

佇列可以設定為 nullptr，在此情況下 [XTaskQueueGetCurrentProcessTaskQueue](/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue) 也會傳回 nullptr。所提供佇列的控制代碼會被複製，而任何現有處理序工作佇列的控制代碼則會被關閉。

下列範例會取代預設的處理序工作佇列。此工作佇列的工作分派和完成分派都使用執行緒集區。接受工作佇列參數的 Microsoft Game Development Kit (GDK) API 都接受 **nullptr**，並以處理序工作佇列取代。處理序工作佇列也可以設定為 **nullptr**，在此情況下，需要工作佇列參數的 Microsoft Game Development Kit (GDK) API 若收到 null，就會傳回 E\_NO\_TASK\_QUEUE 錯誤。這可讓 Microsoft Game Development Kit (GDK) API 使用預設值運作，同時在需要時仍能嚴格控制工作佇列控制代碼。

```cpp theme={null}
void UsingProcessTaskQueue()
{
    XTaskQueueHandle queue = nullptr;
    XTaskQueueGetCurrentProcessTaskQueue(&queue);

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

## 需求

**標頭：** XTaskQueue.h

**程式庫：** xgameruntime.lib

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

## 概念文件

* [XTaskQueue 程式庫概觀](/zh-TW/build/core-features/common/async/async-libraries/async-library-xtaskqueue)
* [非同步程式設計的設計目標和改進](/zh-TW/build/core-features/common/async/async-whitepaper)
* [時間敏感執行緒](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 另請參閱

[XTaskQueue 成員](/zh-TW/reference/system/xtaskqueue/xtaskqueue_members)\
[非同步程式設計模型](/zh-TW/build/core-features/common/async/async-programming-model)\
[非同步工作佇列設計](/zh-TW/build/core-features/common/async/async-task-queue-design)


## Related topics

- [XTaskQueueGetCurrentProcessTaskQueue](/zh-TW/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue.md)
- [XTaskQueue](/zh-TW/reference/system/xtaskqueue/xtaskqueue_members.md)
- [如何使用 XBOX 服務 API (XSAPI)](/zh-TW/services/xbox-services/fundamentals/xbox-services-api/live-gs-xbl-apis.md)
- [XTaskQueue 程式庫概觀](/zh-TW/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [XTaskQueuePort](/zh-TW/reference/system/xtaskqueue/enums/xtaskqueueport.md)
