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

# XGameStreamingShowTouchControlLayout

> XGameStreamingShowTouchControlLayout

# XGameStreamingShowTouchControlLayout

연결된 모든 스트리밍 클라이언트 장치에서 지정한 터치 레이아웃을 표시하도록 요청합니다.

## 구문

```cpp theme={null}
void XGameStreamingShowTouchControlLayout(
         const char* layout  
)  
```

## 매개 변수

*layout*   \_In\_opt\_z\_\
형식: char\*

표시할 터치 컨트롤 레이아웃의 이름 또는 표준 XBOX 컨트롤러 레이아웃을 표시하려면 `nullptr`입니다.

스트리밍 클라이언트 장치에 표시되어야 하는 터치 컨트롤 레이아웃의 ID입니다. 레이아웃 ID는 타이틀별로 다르며, [터치 적응 키트(Touch Adaptation Kit)](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-kit-overview)의 일부로 XBOX Game Streaming 서비스에 제공되는 레이아웃의 ID에 해당합니다. 이 문자열은 UTF-8로 인코딩되어야 합니다.

`nullptr`이 제공되면 기본 터치 컨트롤 세트가 표시됩니다.

타이틀의 터치 컨트롤 레이아웃 ID와 일치하지 않는 문자열은 클라이언트 장치의 터치 컨트롤 상태를 변경하지 않습니다. Content Test Application은 이러한 경우 진단 정보를 제공할 수 있습니다.

## 반환 값

형식: void

## 설명

이 API는 현재 모든 게임 스트리밍 클라이언트에 대해 플레이어의 클라이언트 장치에 특정 터치 컨트롤 레이아웃을 표시하도록 요청합니다. 플레이어가 게임을 스트리밍하고 있지 않거나 터치를 지원하지 않는 장치로 스트리밍 중인 경우, 이 함수는 아무 작업도 수행하지 않습니다.

플레이어가 터치 컨트롤 대신 물리적 컨트롤러를 사용하고 있다면 이 함수는 해당 장치에 터치 컨트롤을 강제로 표시하지 않습니다. 대신 플레이어가 다음에 터치 컨트롤을 사용할 때 마지막으로 요청된 레이아웃을 클라이언트가 사용합니다.

이 함수는 플레이어가 터치 컨트롤을 사용하는 경우 현재 게임 상태에 가장 적합한 터치 컨트롤 레이아웃이 무엇인지 클라이언트 장치에 알려주는 힌트로 생각할 수 있습니다. 그러면 클라이언트 장치는 해당 컨트롤을 플레이어의 화면에 배치할 최적의 시점을 관리합니다.

`XGameStreamingShowTouchControlLayout`을 호출할 때마다 네트워크를 통해 메시지가 전송되므로 매 프레임마다 호출해서는 안 됩니다. 대신 게임에서 서로 다른 터치 컨트롤 레이아웃 간에 전환해야 할 때에만 이 API를 호출하세요.

`XGameStreamingShowTouchControlLayout`이 호출될 때 연결된 클라이언트 장치가 없다면, 클라이언트가 연결되었을 때 가장 최근에 요청된 터치 컨트롤 레이아웃을 받게 됩니다.

**특정** 연결된 스트리밍 클라이언트 장치에만 터치 컨트롤 레이아웃을 표시하려는 경우에는 대신 [XGameStreamingShowTouchControlLayoutOnClient](/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayoutonclient)를 사용하는 것을 고려하세요.

## 예제

```C++ theme={null}
void OnGameStateChanged(GameState newState)
{
    // Toggle to the set of touch overlay controls which best match the new state of the game
    switch (newState)
    {
    case GameState::FirstPersonAction:
        XGameStreamingShowTouchControlLayout("FirstPersonAction");
        break;
    case GameState::Driving:
        XGameStreamingShowTouchControlLayout("Driving");
        break;
    case GameState::CutScene:
        // Don't show any touch overlay controls while the cut scene is rendering
        XGameStreamingHideTouchControls();
        break;
    }
}
```

## 요구 사항

**헤더:** xgamestreaming.h

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

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

## 함께 보기

[XGameStreamingHideTouchControls](/reference/system/xgamestreaming/functions/xgamestreaminghidetouchcontrols)\
[XGameStreamingShowTouchControlLayoutOnClient](/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayoutonclient)\
[XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members#TouchAdaptation)


## Related topics

- [XGameStreamingShowTouchControlLayoutOnClient](/ko/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayoutonclient.md)
- [XGameStreamingHideTouchControls](/ko/reference/system/xgamestreaming/functions/xgamestreaminghidetouchcontrols.md)
- [XGameStreamingShowTouchControlsWithStateUpdate](/ko/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrolswithstateupdate.md)
- [게임 상태에 따라 터치 컨트롤 레이아웃 변경](/ko/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-changing-layouts-game-state.md)
- [XGameStreaming](/ko/reference/system/xgamestreaming/xgamestreaming_members.md)
