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

# XUserResolvePrivilegeWithUiResult

> XUserResolvePrivilegeWithUiResult

Retrieves the result of a call to [XUserResolvePrivilegeWithUiAsync](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md).

## Syntax

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

### Parameters

*async*   \_Inout\_
Type: [XAsyncBlock\*](https://docs.xbox.com/reference/system/xasync/structs/xasyncblock.md)

An [XAsyncBlock](https://docs.xbox.com/reference/system/xasync/structs/xasyncblock.md) 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](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md) again. |

## Remarks

> ![alert](https://mintcdn.com/microsoft-4404708b/-_0FrcE2bDxzGxv-/images/gdk/reference/caution.gif?s=2e4f582499c4cb4859c57646638ae366) **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](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md) again.

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

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](https://docs.xbox.com/reference/system/xuser/xuser_members.md)

[XUserResolvePrivilegeWithUiAsync](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md)


## Related topics

- [XUserResolvePrivilegeWithUiAsync](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveprivilegewithuiasync.md)
- [XUser (API contents)](https://docs.xbox.com/reference/system/xuser/xuser_members.md)
- [Using C# wrappers for GDK APIs in your Unity project](https://docs.xbox.com/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XUserResolveIssueWithUiResult](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveissuewithuiresult.md)
- [XUserResolveIssueWithUiUtf16Result](https://docs.xbox.com/reference/system/xuser/functions/xuserresolveissuewithuiutf16result.md)
