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

# XUserGamertagComponent

> XUserGamertagComponent

# XUserGamertagComponent

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

## 構文

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

## 定数

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

## 解説

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

* **従来の gamertag** (`XUserGamertagComponent::Classic`)

  * 最大長は 15 文字で、加えて null 終端文字が入ります。従来の gamertag は常に 15 文字に制限されてきました。

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

* **モダン gamertag** (`XUserGamertagComponent::Modern`)

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

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

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

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

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

  * 従来の gamertag にはサフィックスがありません (null 終端文字のみ)。

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

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

* **一意なモダン gamertag** (`XUserGamertagComponent::UniqueModern`)

  * モダン gamertag + '#' + モダン サフィックスの形式、または '#' やサフィックスのない従来の gamertag のいずれかを含みます。

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

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

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

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

## 要件

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

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

## 関連項目

[XUser](/reference/system/xuser/xuser_members)

[XUserGetGamertag](/reference/system/xuser/functions/xusergetgamertag)

[モダン gamertag](/services/xbox-services/fundamentals/identity/user-profile/gamertags/live-modern-gamertags-toc)


## Related topics

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