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

# PFMultiplayerSetEntityToken

> 设置代表实体执行库操作时使用的身份验证令牌，替换先前为该实体设置的任何令牌。

设置代表实体执行库操作时用于身份验证的令牌。如果之前已为该实体设置过令牌，则替换其先前的令牌。

## 语法

```cpp theme={null}
HRESULT PFMultiplayerSetEntityToken(  
    PFMultiplayerHandle handle,  
    const PFEntityKey* entity,  
    const char* entityToken  
)  
```

### 参数

**`handle`**   PFMultiplayerHandle

PFMultiplayer API 实例的句柄。

**`entity`**   [PFEntityKey\*](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfentitykey_clientsdk)

要与令牌关联的 PlayFab 实体密钥。

**`entityToken`**   char\*\
*is null-terminated*

待定

### 返回值

类型：HRESULT

如果创建本地用户成功，则返回 `S_OK`；否则返回错误代码。可通过 [PFMultiplayerGetErrorMessage()](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayergeterrormessage) 检索错误代码的可读形式。

## 备注

此方法采用 PlayFab 实体密钥作为 `entity`，采用 PlayFab 实体令牌作为 `token`。当库代表实体执行需要身份验证或授权的操作（例如创建或更新大厅）时，库将查找与该实体关联的令牌用于该操作。如果之前未为该实体设置过令牌，则该操作将同步失败。在异步操作期间，PlayFab 服务将验证令牌是否有效、是否已过期、是否与所提供的实体 ID 相关联，以及是否有权执行该操作。如果不满足这些条件，操作将失败。<br /><br /> PlayFab 实体密钥和实体令牌可以从 PlayFab 登录操作的输出中获取，然后作为输入提供给此方法。<br /><br /> 提供的 `entity` 和 `token` 必须使用与传递给 [PFMultiplayerInitialize()](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayerinitialize) 相同的 PlayFab 标题 ID 来获取。<br /><br /> 多人游戏库会创建所提供的 PlayFab 实体令牌的副本，供后续需要对本地用户进行身份验证或授权的操作使用（例如 `PFMultiplayerCreateAndJoinLobby`）。如果提供给此调用的令牌已过期或以其他方式无效，则需要有效令牌的操作将失败。可以通过使用相同的实体密钥再次调用此方法，向多人游戏库提供新的有效令牌。<br /><br /> 调用方负责监控提供给此方法的实体令牌的过期时间。当令牌接近或超过过期时间时，应通过执行 PlayFab 登录操作获取新令牌，并通过再次调用此方法将其提供给多人游戏库。建议在先前提供的令牌达到其有效期一半时获取新令牌。在可能进入低电量状态或以其他方式导致应用程序长时间暂停执行、从而无法在令牌过期之前刷新令牌的平台上，应在执行恢复后检查令牌是否已过期。<br /><br /> 不会对这些值执行同步验证。

## 要求

**头文件：** PFMultiplayer.h

## 另请参阅

[PFMultiplayer 成员](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfmultiplayer_members)\
[PFMultiplayerInitialize](/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayerinitialize)


## Related topics

- [PFMultiplayerInitialize](/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayerinitialize.md)
- [从 MPSD 迁移到 PlayFab Multiplayer 和 MPA](/zh-CN/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-to-mlp.md)
- [Lobby SDK 快速入门](/zh-CN/services/playfab/multiplayer/lobby/lobby-getting-started.md)
- [Matchmaking SDK 快速入门](/zh-CN/services/playfab/multiplayer/matchmaking/quickstart-client-sdk.md)
- [游戏服务器与大厅](/zh-CN/services/playfab/multiplayer/lobby/lobby-server-overview.md)
