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

# XUserResolvePrivilegeWithUiResult

> XUserResolvePrivilegeWithUiResult

# XUserResolvePrivilegeWithUiResult

Retrieves the result of a call to [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync).

## Syntax

```cpp theme={null}
HRESULT XUserResolvePrivilegeWithUiResult(
         XAsyncBlock* async
)
```

### Parameters

*async*   \_Inout\_
Type: [XAsyncBlock\*](/reference/system/xasync/structs/xasyncblock)

An [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) for polling for the call's status and retrieving call results.

### Return value

Type: HRESULT

HRESULT success or error code.

| Return Code                      | Description                                                                                                                        |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| S\_OK                            | The operation succeeded                                                                                                            |
| E\_ABORT                         | The user canceled the operation                                                                                                    |
| E\_GAMEUSER\_FAILED\_TO\_RESOLVE | Failed to resolve the given privilege                                                                                              |
| E\_GAMEUSER\_NO\_AUTH\_USER      | The game should call [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync) again. |

## Remarks

> <img src="https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/caution.gif?s=2e4f582499c4cb4859c57646638ae366" alt="alert" width="11" height="11" data-path="images/gdk/reference/caution.gif" /> **NOTE:** If **XUserResolvePrivilegeWithUiAsync** is called shortly after
> network connectivity is established, **XUserResolvePrivilegeWithUiResult** might return
> E\_GAMEUSER\_NO\_AUTH\_USER even though you have a signed in user. Games hitting this issue should try
> calling [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync) again.

To display a user interface that allows a user to resolve privilege issues, call [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync).

The following example shows how to use the **XUserResolvePrivilegeWithUiResult** function.

```cpp theme={null}
HRESULT hr = XUserResolvePrivilegeWithUiResult(asyncBlock);

if (SUCCEEDED(hr))
{
    OutputDebugStringA(""Successfully resolved privilege\n"");
}
else
{
    OutputDebugStringA(""Failed to resolved privilege\n"");
}
```

## Requirements

**Header:** XUser.h

**Library:** xgameruntime.lib

**Supported platforms:** Windows, Steam Deck, XBOX One family consoles and XBOX Series consoles

## See also

[XUser](/reference/system/xuser/xuser_members)

[XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync)


## Related topics

- [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md)
- [XUser](/reference/system/xuser/xuser_members.md)
- [XUserResolveIssueWithUiResult](/reference/system/xuser/functions/xuserresolveissuewithuiresult.md)
- [XUserResolveIssueWithUiUtf16Result](/reference/system/xuser/functions/xuserresolveissuewithuiutf16result.md)
- [Client-side use of XBOX services user privileges](/services/xbox-services/fundamentals/identity/privileges/concepts/live-user-privileges-client.md)
