> ## 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](/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue)도 nullptr을 반환합니다. 제공된 큐의 핸들이 복제되고 기존 프로세스 작업 큐가 있다면 그 핸들은 닫힙니다.

다음 예제에서는 기본 프로세스 작업 큐를 대체합니다. 이 작업 큐는 작업 및 완료 디스패치 모두에 스레드 풀을 사용합니다. 작업 큐 매개 변수를 사용하는 Microsoft GDK(Game Development Kit) API는 모두 **nullptr**을 허용하며 프로세스 작업 큐로 대체합니다. 프로세스 작업 큐를 **nullptr**로 설정할 수도 있으며, 이 경우 작업 큐 매개 변수가 필요한 Microsoft GDK(Game Development Kit) API는 null이 제공되면 E\_NO\_TASK\_QUEUE 오류가 발생합니다. 이렇게 하면 Microsoft GDK(Game Development Kit) 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 라이브러리 개요](/build/core-features/common/async/async-libraries/async-library-xtaskqueue)
* [비동기 프로그래밍 디자인 목표 및 개선 사항](/build/core-features/common/async/async-whitepaper)
* [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 함께 보기

[XTaskQueue 멤버](/reference/system/xtaskqueue/xtaskqueue_members)\
[비동기 프로그래밍 모델](/build/core-features/common/async/async-programming-model)\
[비동기 작업 큐 디자인](/build/core-features/common/async/async-task-queue-design)


## Related topics

- [XTaskQueueGetCurrentProcessTaskQueue](/ko/reference/system/xtaskqueue/functions/xtaskqueuegetcurrentprocesstaskqueue.md)
- [XTaskQueue](/ko/reference/system/xtaskqueue/xtaskqueue_members.md)
- [XBOX Services API(XSAPI) 사용 방법](/ko/services/xbox-services/fundamentals/xbox-services-api/live-gs-xbl-apis.md)
- [XTaskQueue 라이브러리 개요](/ko/build/core-features/common/async/async-libraries/async-library-xtaskqueue.md)
- [XTaskQueuePort](/ko/reference/system/xtaskqueue/enums/xtaskqueueport.md)
