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

# PFAuthenticationLoginWithXboxGetResult

> Get the result from a PFAuthenticationLoginWithXboxAsync call. The PFEntityHandle will always be returned, but the additional info in the.

Get the result from a PFAuthenticationLoginWithXboxAsync call. The PFEntityHandle will always be returned, but the additional info in the PFAuthenticationLoginResult is only returned if a buffer is provided.

## Syntax

```cpp theme={null}
HRESULT PFAuthenticationLoginWithXboxGetResult(  
    XAsyncBlock* async,  
    PFEntityHandle* entityHandle,  
    size_t bufferSize,  
    void* buffer,  
    PFAuthenticationLoginResult result,  
    size_t* bufferUsed  
)  
```

### Parameters

**`async`**   XAsyncBlock\*<br />*Inout*

XAsyncBlock for the async operation.

**`entityHandle`**   PFEntityHandle\*<br />*output*

PFEntityHandle which can be used to authenticate other PlayFab API calls.

**`bufferSize`**   size\_t

The size of the buffer for the result object.

**`buffer`**   void\*<br />\**Out\_writes\_bytes\_to\_opt*(bufferSize,*bufferUsed)*

Byte buffer used for the Login result value and its fields.

**`result`**   [PFAuthenticationLoginResult](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginresult)<br />*optional, library-allocated output*

Pointer to the LoginResult object.

**`bufferUsed`**   size\_t\*<br />*optional output*

The number of bytes in the provided buffer that were used.

### Return value

Type: HRESULT

Result code for this API operation. If the service call is unsuccessful, the result will be E\_PF\_ENCRYPTION\_KEY\_MISSING, E\_PF\_EVALUATION\_MODE\_PLAYER\_COUNT\_EXCEEDED, E\_PF\_EXPIRED\_XBOX\_LIVE\_TOKEN, E\_PF\_INVALID\_XBOX\_LIVE\_TOKEN, E\_PF\_REQUEST\_VIEW\_CONSTRAINT\_PARAMS\_NOT\_ALLOWED, E\_PF\_SIGNED\_REQUEST\_NOT\_ALLOWED, E\_PF\_XBOX\_INACCESSIBLE, E\_PF\_XBOX\_REJECTED\_XSTS\_EXCHANGE\_REQUEST, E\_PF\_XBOX\_XASS\_EXCHANGE\_FAILURE or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling.

## Remarks

If the PFAuthenticationLoginWithXboxAsync call fails, entityHandle with be null. Otherwise, the handle must be closed with PFEntityCloseHandle when it is no longer needed. If returned, 'result' is a pointer within 'buffer' and does not need to be freed separately.

## Requirements

**Header:** PFAuthentication.h

## See also

[PFAuthentication members](/services/playfab/api-references/c/pfauthentication/pfauthentication_members)


## Related topics

- [PFAuthenticationLoginWithXboxAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithxboxasync.md)
- [Services C API overview - PFAuthentication.h](/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)
- [PFAuthenticationLoginWithXboxGetResultSize](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithxboxgetresultsize.md)
- [PFAuthenticationServerLoginWithXboxGetResult](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationserverloginwithxboxgetresult.md)
- [PFAuthenticationServerLoginWithXboxGetResultSize](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationserverloginwithxboxgetresultsize.md)
