> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XUserGamertagComponent

> XUserGamertagComponent

# XUserGamertagComponent

取得するゲーマータグの種類 (コンポーネント) を指定します。

## 構文

```cpp theme={null}
enum class XUserGamertagComponent  : uint32_t  
{  
    Classic = 0,  
    Modern = 1,  
    ModernSuffix = 2,  
    UniqueModern = 3,  
}  
```

## 定数

| 定数 | 説明 |
| - | - |
| Classic | クラシック ゲーマータグです。 |
| Modern | サフィックスなしのモダン ゲーマータグです。 |
| ModernSuffix | 存在する場合のモダン ゲーマータグのサフィックスです (存在しない場合は空)。 |
| UniqueModern | 一意性を保証するためにサフィックス付きのモダン ゲーマータグです。 |

## 解説

各ゲーマータグ コンポーネントの長さ制限とバッファー サイズは次のとおりです。

* **クラシック ゲーマータグ** (`XUserGamertagComponent::Classic`)

  * 最大長は 15 文字で、加えて null 終端文字が入ります。クラシック ゲーマータグは常に 15 文字に制限されてきました。

  * バッファーの最大サイズは、null 終端文字用の領域を含めて 16 バイトです。(15 個の US-ASCII 文字) + (1 バイトの null 終端文字) = 16 バイト。

* **モダン ゲーマータグ** (`XUserGamertagComponent::Modern`)

  * 最大長は 12 文字で、各文字はダイアクリティカル マークを最大 1 つまで持つことができ、加えて null 終端文字が入ります。

  * ユーザーによってモダン ゲーマータグが設定されていない場合、これは `XUserGamertagComponent::Classic` と同一になります。

  * バッファーの最大サイズは、null 終端文字用の領域を含めて 97 バイトです。(12 文字 + 12 個のダイアクリティカル マーク) \* (1 文字あたり 4 バイト) + (1 バイトの null 終端文字) = 97 バイト。

* **サフィックス** (`XUserGamertagComponent::ModernSuffix`)

  * 最大長は 14 文字 (ダイアクリティカル マークなし) で、加えて null 終端文字が入ります。

  * クラシック ゲーマータグにはサフィックスがありません (null 終端文字のみ)。

  * バッファーの最大サイズは、null 終端文字用の領域を含めて 15 バイトです。(14 個の数字 ASCII 文字) + (1 バイトの null 終端文字) = 15 バイト。

  * 11 文字以下のモダン ゲーマータグには、通常 4 桁のサフィックスが割り当てられます。
    その 4 桁の空間が埋まった場合、一意なモダン ゲーマータグの合計長さ制限である 16 文字の範囲内に収まる最大文字数まで、文字数が増加します。

* **一意なモダン ゲーマータグ** (`XUserGamertagComponent::UniqueModern`)

  * モダン ゲーマータグ + '#' + モダン サフィックスの形式、または '#' やサフィックスのないクラシック ゲーマータグのいずれかを含みます。

  * 最大長は 16 文字で、加えて null 終端文字が入ります。

  * バッファーの最大サイズは、null 終端文字用の領域を含めて 101 バイトです。(12 文字 + 12 個のダイアクリティカル マーク) \* (1 文字あたり 4 バイト) + '#' (1 バイト) + (3 桁の数字 US-ASCII 文字) + null 終端文字 (1 バイト) = 101 バイト。

  * 一意なモダン ゲーマータグの 16 文字制限は、12 文字のモダン ゲーマータグが 3 桁のサフィックスに制限されることを意味します。'#' 文字を含めると、合計で 16 文字がレンダリングされることになります。

  * モダン ゲーマータグの文字数が減少するにつれて、サフィックスの文字数を増やすことができますが、一意なモダン ゲーマータグの合計最大バイト数がこれを超えることはありません。

## 要件

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

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

## 関連項目

[XUser](https://docs.xbox.com/ja-jp/reference/system/xuser/xuser_members.md)

[XUserGetGamertag](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xusergetgamertag.md)

[モダン ゲーマータグ](https://docs.xbox.com/ja-jp/services/xbox-services/fundamentals/identity/user-profile/gamertags/live-modern-gamertags-toc.md)


## Related topics

- [ゲーマータグの概要](https://docs.xbox.com/ja-jp/services/xbox-services/fundamentals/identity/user-profile/gamertags/live-gamertags-overview.md)
- [モダン ゲーマータグのベスト プラクティスとテスト](https://docs.xbox.com/ja-jp/services/xbox-services/fundamentals/identity/user-profile/gamertags/live-modern-gamertags-best-practices-and-testing.md)
- [XUserGetGamertag](https://docs.xbox.com/ja-jp/reference/system/xuser/functions/xusergetgamertag.md)
- [モダン ゲーマータグの定義と用語](https://docs.xbox.com/ja-jp/services/xbox-services/fundamentals/identity/user-profile/gamertags/live-modern-gamertags-definition.md)
- [XUser (API の内容)](https://docs.xbox.com/ja-jp/reference/system/xuser/xuser_members.md)
