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

# PFAuthenticationLoginWithCustomIDGetResult

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

Get the result from a PFAuthenticationLoginWithCustomIDAsync 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 PFAuthenticationLoginWithCustomIDGetResult(  
    XAsyncBlock* async,  
    PFEntityHandle* entityHandle,  
    size_t bufferSize,  
    void* buffer,  
    const PFAuthenticationLoginResult** result,  
    size_t* bufferUsed  
)  
```

### Parameters

**`async`**   XAsyncBlock\*\
*Inout*

XAsyncBlock for the async operation.

**`entityHandle`**   PFEntityHandle\*\
*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\*\
\**Out\_writes\_bytes\_to\_opt*(bufferSize,*bufferUsed)*

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

**`result`**   [PFAuthenticationLoginResult\*\*](https://docs.xbox.com/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginresult.md)\
*optional, library-allocated output*

Pointer to the LoginResult object.

**`bufferUsed`**   size\_t\*\
*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\_ENCRYPTED\_REQUEST\_NOT\_ALLOWED, E\_PF\_ENCRYPTION\_KEY\_MISSING, E\_PF\_EVALUATION\_MODE\_PLAYER\_COUNT\_EXCEEDED, E\_PF\_INVALID\_SIGNATURE, E\_PF\_INVALID\_SIGNATURE\_TIME, E\_PF\_PLAYER\_CREATION\_DISABLED, E\_PF\_PLAYER\_SECRET\_ALREADY\_CONFIGURED, E\_PF\_PLAYER\_SECRET\_NOT\_CONFIGURED, E\_PF\_REQUEST\_VIEW\_CONSTRAINT\_PARAMS\_NOT\_ALLOWED, E\_PF\_SIGNED\_REQUEST\_NOT\_ALLOWED or any of the global PlayFab Service errors. See doc page "Handling PlayFab Errors" for more details on error handling.

## Remarks

If the PFAuthenticationLoginWithCustomIDAsync 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](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)


## Related topics

- [PFAuthenticationLoginWithCustomIDAsync](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithcustomidasync.md)
- [Services C API overview - PFAuthentication.h](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)
- [PFAuthenticationLoginWithCustomIDGetResultSize](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithcustomidgetresultsize.md)
- [PFAuthenticationServerLoginWithCustomIDGetResult](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationserverloginwithcustomidgetresult.md)
- [PFAuthenticationServerLoginWithCustomIDGetResultSize](https://docs.xbox.com/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationserverloginwithcustomidgetresultsize.md)
