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

# XGameStreamingShowTouchControlLayoutOnClient

> XGameStreamingShowTouchControlLayoutOnClient

# XGameStreamingShowTouchControlLayoutOnClient

要求されたタッチ コントロール セットを単一のクライアントに表示します。

## Syntax

```cpp theme={null}
void XGameStreamingShowTouchControlLayoutOnClient(  
         XGameStreamingClientId client,  
         const char* layout  
)  
```

### Parameters

*client*   \_In\_\
型: XGameStreamingClientId

タッチ コントロールを表示するストリーミング クライアント デバイス。

*layout*   \_In\_opt\_z\_\
型: char\*

表示するタッチ コントロール レイアウトの名前。または、既定のレイアウトを表示する場合は 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 では診断情報が提供されることがあります。

## Return Value

型: void

## Remarks

この API は、指定されたゲーム ストリーミング クライアントに対し、プレイヤーのクライアント デバイス上で特定のタッチ コントロール レイアウトを表示するよう要求します。プレイヤーがゲームをストリーミングしていない場合、またはストリーミング クライアントでタッチが有効ではない場合、この関数は何も行いません。

プレイヤーがタッチ コントロールではなく物理コントローラーを使用している場合、この関数はデバイス上にタッチ コントロールを強制的に表示しません。代わりに、次にプレイヤーがタッチ コントロールを使い始めた際に、最後に要求されたレイアウトがクライアントで使用されます。

この関数は、プレイヤーがタッチ コントロールを使用している場合に、現在のゲーム状態にどのタッチ コントロール レイアウトが最も適しているかをクライアント デバイスに伝えるヒントと考えることができます。実際にこれらのコントロールをプレイヤーの画面に表示する最適なタイミングは、クライアント デバイスが管理します。

`XGameStreamingShowTouchControlLayoutOnClient` を呼び出すたびにネットワーク経由でメッセージが送信されるため、フレームごとに呼び出さないでください。代わりに、異なるタッチ コントロール レイアウト間で遷移する必要がある場合にのみこの API を呼び出してください。

**すべての** 接続されているストリーミング クライアント デバイスにタッチ コントロール レイアウトを表示したい場合は、代わりに [XGameStreamingShowTouchControlLayout](/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayout) の使用を検討してください。

## Examples

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

## Requirements

**ヘッダー:** xgamestreaming.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## See also

[XGameStreamingHideTouchControlsOnClient](/reference/system/xgamestreaming/functions/xgamestreaminghidetouchcontrols)\
[XGameStreamingShowTouchControlLayout](/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayout)\
[XGameStreaming](/reference/system/xgamestreaming/xgamestreaming_members#TouchAdaptation)


## Related topics

- [XGameStreamingShowTouchControlLayout](/ja-jp/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrollayout.md)
- [XGameStreamingHideTouchControlsOnClient](/ja-jp/reference/system/xgamestreaming/functions/xgamestreaminghidetouchcontrolsonclient.md)
- [XGameStreamingShowTouchControlsWithStateUpdateOnClient](/ja-jp/reference/system/xgamestreaming/functions/xgamestreamingshowtouchcontrolswithstateupdateonclient.md)
- [XGameStreaming](/ja-jp/reference/system/xgamestreaming/xgamestreaming_members.md)
- [GDK 向け Unity C# API ラッパー](/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
