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

# XblAchievementsManagerGetAchievements

> XblAchievementsManagerGetAchievements

Gets a list of all achievements for a player.

## Syntax

```cpp theme={null}
HRESULT XblAchievementsManagerGetAchievements(  
         uint64_t xboxUserId,  
         XblAchievementOrderBy sortField,  
         XblAchievementsManagerSortOrder sortOrder,  
         XblAchievementsManagerResultHandle* achievementsResult  
)  
```

### Parameters

*xboxUserId*   \_In\_\
Type: uint64\_t

The XBOX User ID of the player.

*sortField*   \_In\_\
Type: [XblAchievementOrderBy](https://docs.xbox.com/reference/live/xsapi-c/achievements_c/enums/xblachievementorderby.md)

The field to sort the list of achievements on.

*sortOrder*   \_In\_\
Type: [XblAchievementsManagerSortOrder](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/enums/xblachievementsmanagersortorder.md)

The direction by which to sort the list of achievements.

*achievementsResult*   \_Outptr\_result\_maybenull\_\
Type: [XblAchievementsManagerResultHandle\*](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/handles/xblachievementsmanagerresulthandle.md)

The handle to the result of AchievementsManager API calls. This handle is used by other APIs to get the achievement objects matching the API that was called. The handle must be closed using [XblAchievementsManagerResultCloseHandle](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerresultclosehandle.md) when the result is no longer needed.

### Return value

Type: HRESULT

Returns `S_OK` on success. Possible error codes include the following. This list isn't exhaustive.

| Return code | Description |
| - | - |
| E\_INVALIDARG | *sortField* and *sortOrder* aren't a valid combination, or XSAPI is initialized and *achievementsResult* is null. |
| E\_XBL\_NOT\_INITIALIZED | XSAPI isn't initialized. |

## Remarks

Sorting is supported only on unlock time. When *sortField* is `XblAchievementOrderBy::UnlockTime`, set *sortOrder* to `XblAchievementsManagerSortOrder::Ascending` or `XblAchievementsManagerSortOrder::Descending`. For any other *sortField*, set *sortOrder* to `XblAchievementsManagerSortOrder::Unsorted`. Other combinations return `E_INVALIDARG`.

Passing in XblAchievementOrderBy::TitleId for sortField yields the same results as passing in XblAchievementOrderBy::DefaultOrder since all achievements tracked by achievement manager will have the same TitleId.

## Requirements

**Header:** achievements\_manager\_c.h

**Library:** Microsoft.Xbox.Services.142.C.lib or Microsoft.Xbox.Services.143.C.lib

## See also

[achievements\_manager\_c](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/achievements_manager_c_members.md)


## Related topics

- [XblAchievementsManagerGetAchievement](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagergetachievement.md)
- [achievements_manager_c (contents)](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/achievements_manager_c_members.md)
- [XBOX Achievements Manager API overview](https://docs.xbox.com/services/xbox-services/player-data/achievements/achievements-manager/live-achievements-manager-overview.md)
- [XblAchievementsManagerGetAchievementsByState](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagergetachievementsbystate.md)
- [XblAchievementsManagerResultGetAchievements](https://docs.xbox.com/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerresultgetachievements.md)
