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

# XUserCheckPrivilege

> XUserCheckPrivilege

# XUserCheckPrivilege

确定用户是否具有特定权限。

## 语法

```cpp theme={null}
HRESULT XUserCheckPrivilege(  
         XUserHandle user,  
         XUserPrivilegeOptions options,  
         XUserPrivilege privilege,  
         bool* hasPrivilege,  
         XUserPrivilegeDenyReason* reason  
)  
```

### 参数

*user*   \_In\_\
类型：XUserHandle

要检查其权限的用户的句柄。

*options*   \_In\_\
类型：[XUserPrivilegeOptions](/reference/system/xuser/enums/xuserprivilegeoptions)

用户权限选项。

*privilege*   \_In\_\
类型：[XUserPrivilege](/reference/system/xuser/enums/xuserprivilege)

要检查的权限。

*hasPrivilege*   \_Out\_\
类型：bool\*

如果用户具有该特定权限，则为 True；否则为 false。

*reason*   \_Out\_opt\_\
类型：[XUserPrivilegeDenyReason\*](/reference/system/xuser/enums/xuserprivilegedenyreason)

用户不具备所请求权限的原因。此值**仅**供参考，在许多场景中可能不准确。**不应**使用此值在标题中做决策。请改用 [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync) 来解决所有权限问题。

### 返回值

类型：HRESULT

HRESULT 成功或错误代码。

| 返回代码                                        | 说明                                                                                                                            |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| S\_OK                                       | 操作成功。                                                                                                                         |
| E\_GAMEUSER\_RESOLVE\_USER\_ISSUE\_REQUIRED | 用户必须使用 UI 来解决该问题。调用 [XUserResolveIssueWithUiAsync](/reference/system/xuser/functions/xuserresolveissuewithuiasync) 以向用户显示 UI。 |

## 注解

确定用户是否具有给定的 [XUserPrivilege](/reference/system/xuser/enums/xuserprivilege)。

> <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" /> **注意：** *reason* 参数中返回的值**仅**供参考，在许多场景中可能不准确。**不应**使用此值在标题中做决策。

如果权限被拒绝（即 *hasPrivilege* 为 false），游戏可以通过使用相同的 *privilege* 值调用 [XUserResolvePrivilegeWithUiAsync](/reference/system/xuser/functions/xuserresolveprivilegewithuiasync)，为玩家提供解决权限问题的机会。

如果此方法返回 **E\_GAMEUSER\_RESOLVE\_USER\_ISSUE\_REQUIRED**，游戏可以通过调用 [XUserResolveIssueWithUiAsync](/reference/system/xuser/functions/xuserresolveissuewithuiasync)，为玩家提供解决该问题的机会。

## 要求

**头文件：** XUser.h

**库：** xgameruntime.lib

**支持的平台：** Windows、Steam Deck、XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[客户端使用 XBOX Live 用户权限](/services/xbox-services/fundamentals/identity/privileges/concepts/live-user-privileges-client)

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

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


## Related topics

- [XUserPrivilege](/zh-CN/reference/system/xuser/enums/xuserprivilege.md)
- [XUserPrivilegeOptions](/zh-CN/reference/system/xuser/enums/xuserprivilegeoptions.md)
- [XUserPrivilegeDenyReason](/zh-CN/reference/system/xuser/enums/xuserprivilegedenyreason.md)
- [XR-045 XBOX 网络和账户权限](/zh-CN/publishing/certification/xr/xr-045.md)
- [XBOX 服务用户特权的客户端使用](/zh-CN/services/xbox-services/fundamentals/identity/privileges/concepts/live-user-privileges-client.md)
