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

# XblPermissionCheckResult

> XblPermissionCheckResult

Struct describing the result of a permission check request.

## Syntax

```cpp theme={null}
typedef struct XblPermissionCheckResult {  
    bool isAllowed;  
    uint64_t targetXuid;  
    XblAnonymousUserType targetUserType;  
    XblPermission permissionRequested;  
    XblPermissionDenyReasonDetails* reasons;  
    size_t reasonsCount;  
} XblPermissionCheckResult  
```

### Members

*isAllowed*\
Type: bool

Value indicating whether or not permission to take the requested action is granted.

*targetXuid*\
Type: uint64\_t

Target Xuid for the permission check request. Will be 0 if the permission check was for an anonymous user.

*targetUserType*\
Type: [XblAnonymousUserType](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/enums/xblanonymoususertype.md)

The class of anonymous user the permission check was for. Will be XblAnonymousUserType::Unknown if the permission check was for an XBOX network user.

*permissionRequested*\
Type: [XblPermission](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/enums/xblpermission.md)

The permission that was requested.

*reasons*\
Type: [XblPermissionDenyReasonDetails\*](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/structs/xblpermissiondenyreasondetails.md)

Array of reasons why permission was denied. Null when isAllowed is true.

*reasonsCount*\
Type: size\_t

Number of entries in the reasons array.

## Remarks

The result, including the *reasons* array, points into the buffer that you pass to the result function. Don't free these pointers. They're valid only as long as that buffer is valid, so copy any values that you need to keep before you release the buffer.

Use *isAllowed* to decide whether to allow the action. The *reasons* array explains why permission was denied, but it doesn't change the result: if *isAllowed* is false, block the action.

## Argument of

[XblPrivacyCheckPermissionResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacycheckpermissionresult.md)\
[XblPrivacyCheckPermissionForAnonymousUserResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacycheckpermissionforanonymoususerresult.md)\
[XblPrivacyBatchCheckPermissionResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacybatchcheckpermissionresult.md)

## Requirements

**Header:** privacy\_c.h

## See also

[privacy\_c](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/privacy_c_members.md)


## Related topics

- [XblPrivacyBatchCheckPermissionResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacybatchcheckpermissionresult.md)
- [XblPermission](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/enums/xblpermission.md)
- [XblPrivacyCheckPermissionResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacycheckpermissionresult.md)
- [XblPrivacyCheckPermissionForAnonymousUserResult](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/functions/xblprivacycheckpermissionforanonymoususerresult.md)
- [XblPermissionDenyReasonDetails](https://docs.xbox.com/reference/live/xsapi-c/privacy_c/structs/xblpermissiondenyreasondetails.md)
