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

# PartyManager::CreateLocalUser

> 建立本機使用者物件，用於在執行網路和聊天作業時代表本機玩家。

建立本機使用者物件，用於在執行網路和聊天作業時代表本機玩家。

## 語法

```cpp theme={null}
PartyError CreateLocalUser(  
    PartyString entityId,  
    PartyString titlePlayerEntityToken,  
    PartyLocalUser** localUser  
)  
```

### 參數

**`entityId`**   [PartyString](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)

要與本機使用者相關聯的 PlayFab 實體識別碼。

**`titlePlayerEntityToken`**   [PartyString](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/typedefs.md)

要與本機使用者相關聯的 PlayFab 實體權杖。

**`localUser`**   [PartyLocalUser\*\*](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/partylocaluser.md)\
*library-allocated output*

輸出的本機使用者物件。

### 傳回值

PartyError

`c_partyErrorSuccess` (如果建立本機使用者成功)，否則為錯誤碼。可透過 [GetErrorMessage()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_geterrormessage.md) 擷取錯誤碼的人類可讀形式。

## 備註

此方法接受 PlayFab 實體識別碼 (作為 `entityId`) 和 PlayFab 實體權杖 (作為 `titlePlayerEntityToken`)。除了 `entityId` 的長度小於或等於 `c_maxEntityIdStringLength` 之外，不會對這些值執行同步驗證。當程式庫執行需要使用者驗證或授權的作業 (例如建立網路、驗證進入網路或執行語音轉文字轉譯) 時，Party 服務會驗證權杖是否有效、未過期、與提供的實體識別碼相關聯，且已獲授權執行該作業。如果不符合這些條件，作業就會失敗。 \
\
&#x20;PlayFab 實體識別碼和實體權杖可以從 PlayFab 登入作業的輸出取得，然後作為此方法的輸入提供。PlayFab 實體識別碼的類型必須是 `title_player_account`，對大多數開發人員而言，這以最傳統的方式代表「玩家」。若要建立代表其他支援類型之實體的使用者，請改用 [CreateLocalUserWithEntityType()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createlocaluserwithentitytype.md)。   \
\
&#x20;提供的 `entityId` 和 `titlePlayerEntityToken` 必須是使用傳遞給 [Initialize()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize.md) 的相同遊戲識別碼所取得。   \
\
&#x20;Party 程式庫會複製所提供的 PlayFab 實體權杖，以供後續需要驗證或授權本機使用者的作業使用，例如 [CreateNewNetwork()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createnewnetwork.md) 或 [PartyNetwork::AuthenticateLocalUser()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_authenticatelocaluser.md)。如果提供給此呼叫的權杖已過期或因其他原因無效，則需要有效權杖的作業將會失敗。可以透過呼叫 [PartyLocalUser::UpdateEntityToken()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/methods/partylocaluser_updateentitytoken.md)，將新的有效權杖提供給 Party 程式庫。   \
\
&#x20;呼叫者負責監視提供給此方法和 PartyLocalUser::UpdateEntityToken() 之實體權杖的到期情況。當權杖接近或超過到期時間時，應執行 PlayFab 登入作業以取得新的權杖，並呼叫 PartyLocalUser::UpdateEntityToken() 將其提供給 Party 程式庫。建議在先前提供的權杖有效期間過半時取得新的權杖。在可能進入低電源狀態或因其他原因導致應用程式長時間暫停執行、使權杖無法在到期前重新整理的平台上，應在恢復執行後檢查權杖是否已到期。   \
\
&#x20;在任何指定時間，最多只能同時存在 `c_maxLocalUsersPerDeviceCount` 個 PartyLocalUser 物件。如果建立另一個本機使用者會超過該上限，此方法將以同步方式失敗。   \
\
&#x20;成功傳回時，此方法會使先前由 [GetLocalUsers()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getlocalusers.md) 傳回之任何陣列的記憶體失效，因為它會以同步方式將新使用者新增至陣列。[StartProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_startprocessingstatechanges.md) 也會使陣列的記憶體失效。傳回的 `localUser` 物件在產生 [PartyDestroyLocalUserCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partydestroylocalusercompletedstatechange.md) 且所有參考該物件的狀態變更都已傳回給 [FinishProcessingStateChanges()](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_finishprocessingstatechanges.md) 之前都有效。

## 需求

**標頭：** Party.h

## 另請參閱

[PartyManager](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/partymanager.md)\
[PartyDestroyLocalUserCompletedStateChange](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/structs/partydestroylocalusercompletedstatechange.md)\
[PartyManager::Initialize](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize.md)\
[PartyManager::GetLocalUsers](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getlocalusers.md)\
[PartyManager::CreateLocalUserWithEntityType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createlocaluserwithentitytype.md)\
[PartyManager::DestroyLocalUser](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_destroylocaluser.md)\
[PartyManager::CreateNewNetwork](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createnewnetwork.md)\
[PartyNetwork::AuthenticateLocalUser](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_authenticatelocaluser.md)\
[PartyNetwork::RemoveLocalUser](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_removelocaluser.md)\
[PartyNetwork::CreateInvitation](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_createinvitation.md)\
[PartyNetwork::RevokeInvitation](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_revokeinvitation.md)\
[PartyNetwork::CreateEndpoint](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyNetwork/methods/partynetwork_createendpoint.md)\
[PartyLocalUser::UpdateEntityToken](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/methods/partylocaluser_updateentitytoken.md)\
[PartyLocalDevice::CreateChatControl](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalDevice/methods/partylocaldevice_createchatcontrol.md)


## Related topics

- [PartyManager::CreateLocalUserWithEntityType](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_createlocaluserwithentitytype.md)
- [PartyManager::GetLocalUsers](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getlocalusers.md)
- [PartyLocalUser](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/partylocaluser.md)
- [PartyManager::Initialize](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_initialize.md)
- [PartyLocalUser::UpdateEntityToken](https://docs.xbox.com/zh-TW/services/playfab/multiplayer/networking/reference/classes/PartyLocalUser/methods/partylocaluser_updateentitytoken.md)
