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

# XSystemGetAppSpecificDeviceId

> XSystemGetAppSpecificDeviceId

# XSystemGetAppSpecificDeviceId

从主机返回特定于调用方的游戏 ID 的唯一值。

## 语法

```cpp theme={null}
HRESULT XSystemGetAppSpecificDeviceId(  
         size_t appSpecificDeviceIdSize,  
         char* appSpecificDeviceId,  
         size_t* appSpecificDeviceIdUsed  
)  
```

### 参数

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

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

*appSpecificDeviceId*   \_Out\_writes\_bytes\_to\_(appSpecificDeviceIdSize, \*appSpecificDeviceIdUsed)\
类型：char\*

将接收特定于应用程序的设备 ID 的字符缓冲区。

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

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

### 返回值

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

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

## 备注

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

如果由于错误而无法获取特定于应用程序的设备标识符，将返回常量字符串 "00000000000000000000000000000000000000000000"。

如果你的应用程序使用单一登录 (SSO)，则应使用 XSTS SSO 令牌的成对 ID，而不是此函数返回的 ID。

## 要求

**头文件：** XSystem.h

**库：** xgameruntime.lib

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

## 另请参阅

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


## Related topics

- [XSystem](/zh-CN/reference/system/xsystem/xsystem_members.md)
- [XSystemGetConsoleId](/zh-CN/reference/system/xsystem/functions/xsystemgetconsoleid.md)
- [面向 GDK 的 Unity C# API 包装器](/zh-CN/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [APP_LOCAL_DEVICE_ID](/zh-CN/reference/system/xuser/structs/app_local_device_id.md)
- [ILampArray::GetDeviceId](/zh-CN/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getdeviceid.md)
