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

# PartyXblLoginToPlayFabCompletedStateChange

> Reference for the PartyXblLoginToPlayFabCompleted state change, reporting the outcome and entity token when signing an XBOX Live user into PlayFab Party.

Information specific to the *LoginToPlayFabCompleted* type of state change.

## Syntax

```cpp theme={null}
struct PartyXblLoginToPlayFabCompletedStateChange : PartyXblStateChange {  
    PartyXblStateChangeResult result;  
    PartyError errorDetail;  
    PartyXblLocalChatUser* localChatUser;  
    void* asyncIdentifier;  
    PartyString entityId;  
    PartyString titlePlayerEntityToken;  
    time_t expirationTime;  
}  
```

### Members

**`result`**   [PartyXblStateChangeResult](/services/playfab/multiplayer/networking/xblreference/enums/partyxblstatechangeresult)

Indicates that the login operation succeeded or the reason that it failed.

**`errorDetail`**   [PartyError](/services/playfab/multiplayer/networking/reference/typedefs)

A diagnostic value providing additional troubleshooting information regarding any potential error condition.

**`localChatUser`**   [PartyXblLocalChatUser](/services/playfab/multiplayer/networking/xblreference/classes/PartyXblLocalChatUser/partyxbllocalchatuser)\*

The local chat user who was logged in to PlayFab.

**`asyncIdentifier`**   void\*

The async identifier provided to the call associated with this state change.

**`entityId`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

The PlayFab Entity Id associated with the local chat user's XBOX Live identity.

**`titlePlayerEntityToken`**   [PartyString](/services/playfab/multiplayer/networking/reference/typedefs)

The PlayFab Entity Token associated with the local chat user's XBOX Live identity.

**`expirationTime`**   time\_t

The timestamp describing when this token expires.

When the token is nearing the expiration time or if the token has expired due to the application being in a dormant state for an extended time, a new token should be obtained by calling [PartyXblManager::LoginToPlayFab()](/services/playfab/multiplayer/networking/xblreference/classes/PartyXblManager/methods/partyxblmanager_logintoplayfab).

## Requirements

**Header:** PartyXboxLive.h

## See also

[PartyXboxLive members](/services/playfab/multiplayer/networking/xblreference/partyxboxlive_members)


## Related topics

- [PartyXblManager::LoginToPlayFab](/services/playfab/multiplayer/networking/xblreference/classes/PartyXblManager/methods/partyxblmanager_logintoplayfab.md)
- [PlayFab Party XBOX Live Helper Release Notes](/services/playfab/multiplayer/networking/party-xboxlive-relnotes.md)
- [PartyXblStateChangeType](/services/playfab/multiplayer/networking/xblreference/enums/partyxblstatechangetype.md)
- [PartyXboxLive C/C++ API overview](/services/playfab/multiplayer/networking/xblreference/partyxboxlive_members.md)
- [XBOX Live helper library for PlayFab Party](/services/playfab/multiplayer/networking/party-xbox-live-guide.md)
