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

# XGameStreamingGetTouchBundleVersion

> XGameStreamingGetTouchBundleVersion

# XGameStreamingGetTouchBundleVersion

지정한 장치에서 현재 사용되고 있는 터치 적응 번들의 버전을 가져옵니다.

## 구문

```cpp theme={null}
HRESULT XGameStreamingGetTouchBundleVersion(  
        XGameStreamingClientId client,
        XVersion* version,
        size_t versionNameSize,
        char* versionName
)  
```

### 매개 변수

*client*   \_In\_\
형식: XGameStreamingClientId

쿼리 대상 스트리밍 클라이언트입니다.

*version*   \_Out\_opt\_\
형식: XVersion\*

지정한 클라이언트에서 현재 사용 중인 번들의 버전 번호입니다. 번들에 버전 번호가 지정되어 있지 않으면 0.0.0.0이 반환됩니다.

*versionNameSize*   \_In\_\
형식: size\_t

반환할 `versionName`의 최대 크기(바이트 단위)입니다. 지정할 크기는 [XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize)를 호출하여 확인할 수 있습니다.

*versionName*   \_Out\_writes\_opt\_z\_\
형식: char\*

지정한 클라이언트에서 현재 사용 중인 번들의 버전 이름입니다. 번들에 버전 이름이 지정되어 있지 않으면 `null`이 반환됩니다.

### 반환 값

형식: HRESULT

성공하면 **S\_OK**를 반환하고, 그렇지 않으면 오류 코드를 반환합니다.

#### 잠재적 오류

| 오류 코드                                    | 오류 값       | 오류 원인                                                                                                                                                    |
| ---------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| E\_GAMESTREAMING\_NOT\_INITIALIZED       | 0x89245400 | XGameStreaming 런타임이 초기화되지 않았습니다. 다른 API를 호출하기 전에 [XGameStreamingInitialize](/reference/system/xgamestreaming/functions/xgamestreaminginitialize)를 호출하세요. |
| E\_GAMESTREAMING\_CLIENT\_NOT\_CONNECTED | 0x89245401 | 지정한 클라이언트가 연결되어 있지 않습니다.                                                                                                                                 |

오류 코드 목록은 [오류 코드](/reference/errorcodes)를 참조하세요.

## 설명

게임 스트리밍 중에 플레이어에게 표시되는 터치 레이아웃은 터치 적응 번들의 일부로 Microsoft에 업로드된 사전 정의된 레이아웃을 사용합니다. `XGameStreamingGetTouchBundleVersion`을 사용하면 특정 클라이언트에서 사용 중인 터치 컨트롤 세트에 따라 게임이 런타임에 결정을 내릴 수 있습니다. 활용 예로는 다음과 같은 경우가 있습니다.

* 플레이어가 터치를 사용하고 있고 해당 요소가 터치 오버레이 컨트롤을 통해 제공되는 경우 HUD에서 요소를 제거하는 경우.
* 표시될 터치 레이아웃에 따라 게임에서 표시할 그래픽 힌트를 결정하는 경우.

`version`은 서비스에 업로드된 각 버전마다 고유합니다. 업데이트할 때마다 새 버전 번호가 필요합니다.

`versionName`은 특정 버전 번호에 고정하는 대신 시맨틱 버전(예: 이것은 DLC2를 지원하는 레이아웃 세트입니다)을 제공하는 데 사용할 수 있습니다. 예를 들어 빌드 시스템에서 버전 번호가 자동으로 할당되는 경우, 런타임에 나타날 터치 적응 번들의 정확한 버전 번호를 게임 코드가 알기 어려울 수 있습니다. 코드가 정확한 버전을 알지 않고도 번들의 존재를 감지할 수 있도록 하려면 버전 번호 기반의 비교 대신 버전 이름을 사용할 수 있습니다.

## 예제

```C++ theme={null}
void GameStreamingClientManager::GetClientTouchBundleVersion(XGameStreamingClientId client)
{
    // Get the touch bundle version and initialize the touch HUD based on the 
    // semantic version name that was returned
    
    size_t versionNameSize = XGameStreamingGetTouchBundleVersionNameSize(clientId);

    XVersion version{};
    std::vector<char> versionName(versionNameSize, 0);
    XGameStreamingGetTouchBundleVersion(clientId, &version, versionNameSize, &versionName[0]);

    InitializeTouchHUD(versionName);

    if (strcmp("DLC2", versionName.data()) == 0)
    {
        // we have our DLC2 controls, switch to the HUD layout that works best with those overlay controls.
        InitializeHUDForDLC2TouchControls();
    }
}
```

## 요구 사항

**헤더:** XGameStreaming.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 계열 콘솔 및 XBOX Series 콘솔

## 함께 보기

[XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members#ClientProperties)\
[XGameStreamingGetTouchBundleVersionNameSize](/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize)


## Related topics

- [XGameStreamingGetTouchBundleVersionNameSize](/ko/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversionnamesize.md)
- [XGameStreamingClientProperty](/ko/reference/system/xgamestreaming/enums/xgamestreamingclientproperty.md)
- [XGameStreaming](/ko/reference/system/xgamestreaming/xgamestreaming_members.md)
- [Pack 명령](/ko/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-pack-command.md)
- [GDK용 Unity C# API 래퍼](/ko/build/gdk-and-engines/unity/unity-api-wrappers.md)
