Skip to main content
Check a single permission with a single target user.

Syntax

Parameters

xblContextHandle   _In_
Type: XblContextHandle
XBOX services context for the local user. permissionToCheck   _In_
Type: XblPermission
The permission to check. targetXuid   _In_
Type: uint64_t
The target user’s Xuid for validation. async   _In_
Type: XAsyncBlock*
The AsyncBlock for this operation.

Return value

Type: HRESULT Returns S_OK if the request started. S_OK doesn’t mean that permission was granted or that the operation is complete. Possible error codes include the following. This list isn’t exhaustive.

Remarks

If multiple permissions and/or target users are needed, use the batch API instead: XblPrivacyBatchCheckPermissionAsync Call XblPrivacyCheckPermissionResultSize and XblPrivacyCheckPermissionResult upon completion to get the result. If the operation fails, XblPrivacyCheckPermissionResultSize and XblPrivacyCheckPermissionResult return the failure HRESULT. Pass that HRESULT to XblGetErrorCondition to classify it. A failed request is different from a successful result in which isAllowed is false, but in both cases block the action that permissionToCheck protects. If the condition is XblErrorCondition::Http429TooManyRequests, the service is throttling your title. Wait before you try again, and limit how often you retry.

Requirements

Header: privacy_c.h Library: Microsoft.Xbox.Services.142.C.lib or Microsoft.Xbox.Services.143.C.lib

See also

privacy_c
Last modified on October 29, 2026