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

# PFAuthenticationLoginWithOpenIdConnectGetResult

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

Get the result from a PFAuthenticationLoginWithOpenIdConnectAsync 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 PFAuthenticationLoginWithOpenIdConnectGetResult(  
    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\_INVALID\_IDENTITY\_PROVIDER\_ID, E\_PF\_INVALID\_SIGNATURE, E\_PF\_INVALID\_SIGNATURE\_TIME, E\_PF\_PLAYER\_SECRET\_ALREADY\_CONFIGURED, E\_PF\_PLAYER\_SECRET\_NOT\_CONFIGURED, E\_PF\_REQUEST\_VIEW\_CONSTRAINT\_PARAMS\_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 PFAuthenticationLoginWithOpenIdConnectAsync 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

- [PFAuthenticationLoginWithOpenIdConnectAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithopenidconnectasync.md)
- [Services C API overview - PFAuthentication.h](/services/playfab/api-references/c/pfauthentication/pfauthentication_members.md)
- [PFAuthenticationLoginWithOpenIdConnectGetResultSize](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationloginwithopenidconnectgetresultsize.md)
- [PFAuthenticationLoginWithOpenIdConnectRequest](/services/playfab/api-references/c/pfauthenticationtypes/structs/pfauthenticationloginwithopenidconnectrequest.md)
- [PFAuthenticationReLoginWithOpenIdConnectAsync](/services/playfab/api-references/c/pfauthentication/functions/pfauthenticationreloginwithopenidconnectasync.md)
