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

# XSystemGetConsoleId

> XSystemGetConsoleId

# XSystemGetConsoleId

返回当前设备的主机 ID。

## 语法

```cpp theme={null}
HRESULT XSystemGetConsoleId(  
         size_t consoleIdSize,  
         char* consoleId,  
         size_t* consoleIdUsed  
)  
```

### 参数

*consoleIdSize*   \_In\_\
类型：size\_t

*consoleId* 的大小（以字节为单位）。此值必须等于或大于 XSystem.h 中定义的 **XSystemConsoleIdBytes** 常量。

*consoleId*   \_Out\_writes\_bytes\_to\_(consoleIdSize,\*consoleIdUsed)\
类型：char\*

将接收主机 ID 的字符缓冲区。

*consoleIdUsed*   \_Out\_opt\_\
类型：size\_t\*

返回的 *consoleId* 缓冲区的大小（以字节为单位）。

### 返回值

类型：[HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

如果成功，则返回 **S\_OK**；否则返回错误代码。有关错误代码列表，请参阅[错误代码](/reference/errorcodes)。如果函数因 *consoleIdSize* 设置为小于 **XSystemConsoleIdBytes** 的值而失败，则返回值将设置为 **HRESULT\_FROM\_WIN32(ERROR\_INSUFFICIENT\_BUFFER)**。

## 备注

<Note>在时间敏感型线程上调用此函数不安全。有关详细信息，请参阅[时间敏感型线程](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)。</Note>

主机 ID 唯一标识仅用于开发场景的 XBOX Live 的 XBOX 设备。主机 ID 用于识别主机以进行日志记录和管理；例如，捕获分析信息或确定在开发环境中要重启的开发工具包。此函数返回的 ID 与"设置""系统""主机信息"中可见的主机 ID 匹配。

对于 XBOX 设备，主机 ID 存储在设备上。如果找不到主机 ID，或者你无权访问主机 ID，则主机 ID 将默认为 `00000000.00000000.00000000.00000000.00`。对于 PC 设备，主机 ID 始终默认为 `00000000.00000000.00000000.00000000.00`。

在零售版本中，此函数将始终返回 `00000000.00000000.00000000.00000000.00`。如果游戏需要可以在包括零售版本在内的所有情况下使用的标识符，则有两种可能性：

* 如果你的应用程序使用单一登录 (SSO)，则应使用 XSTS SSO 令牌的成对 ID，而不是此函数返回的 ID。
* 否则，请使用 [XSystemGetAppSpecificDeviceId](/reference/system/xsystem/functions/xsystemgetappspecificdeviceid) 函数。

## 要求

**头文件：** XSystem.h

**库：** xgameruntime.lib

**支持的平台：** Windows、XBOX One 系列主机和 XBOX Series 主机

## 概念文档

* [时间敏感型线程](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 另请参阅

[激活开发工具包（NDA 主题）](/home/setup-install/devkits/setup/activating-dev-kit)\
[XSystemGetXboxLiveSandbodId](/reference/system/xsystem/functions/xsystemgetxboxlivesandboxid)\
[XSystem](/reference/system/xsystem/xsystem_members)


## Related topics

- [XSystemGetXboxLiveSandboxId](/zh-CN/reference/system/xsystem/functions/xsystemgetxboxlivesandboxid.md)
- [XSystem](/zh-CN/reference/system/xsystem/xsystem_members.md)
- [IXtfConsoleControlClient::GetSystemTime](/zh-CN/reference/tools/xtf/xtfconsolecontrol/interfaces/IXtfConsoleControlClient/methods/ixtfconsolecontrolclient_getsystemtime.md)
- [XSystemGetAppSpecificDeviceId](/zh-CN/reference/system/xsystem/functions/xsystemgetappspecificdeviceid.md)
- [XtfGetConsoleFieldValue](/zh-CN/reference/tools/xtf/xtfapi/functions/xtfgetconsolefieldvalue-xbox-microsoft-m.md)
