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

# XblMultiplayerManagerJoinLobby

> XblMultiplayerManagerJoinLobby

Joins an XBOX user to a lobby session.

## Syntax

```cpp theme={null}
HRESULT XblMultiplayerManagerJoinLobby(  
         const char* handleId,  
         XblUserHandle user  
)  
```

### Parameters

*handleId*   \_In\_z\_\
Type: const char\*

The activity handle for the lobby session.

*user*   \_In\_\
Type: XblUserHandle

The user handle of the user joining the lobby session.

### Return value

Type: HRESULT

Returns `S_OK` if the join request was queued. The result of the join is delivered later in an `XblMultiplayerEventType::JoinLobbyCompleted` event. Possible error codes include the following. This list isn't exhaustive.

| Return code | Description |
| - | - |
| E\_XBL\_NOT\_INITIALIZED | XSAPI or Multiplayer Manager isn't currently initialized. This check runs before `handleId` is validated. |
| E\_INVALIDARG | `handleId` is null or empty. |

These errors are returned before the join request is queued, so no `JoinLobbyCompleted` event follows them.

## Remarks

This function joins the XBOX user specified in *user* to the lobby session specified in *handleId*. The activity handle for the lobby session is typically retrieved either from a game invite or from the `HandleId` value of another user's [XblMultiplayerActivityDetails](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayeractivitydetails.md), by calling [XblMultiplayerGetActivitiesForUsersAsync](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayergetactivitiesforusersasync.md). For more information about multiplayer activities, see [Activities](https://docs.xbox.com/services/xbox-services/multiplayer/mpa/concepts/live-mpa-activities.md). \
The result of this function is delivered as a multiplayer event with an event type set to `XblMultiplayerEventType::JoinLobbyCompleted`. You can call [XblMultiplayerManagerDoWork](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerdowork.md) to retrieve multiplayer events.  \
When attempting to join a lobby session, the service returns `HTTP_E_STATUS_BAD_REQUEST` if the server is full.  \
After joining, you can set the properties for the lobby session by calling [XblMultiplayerManagerLobbySessionSetSynchronizedProperties](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetsynchronizedproperties.md), or you can set the host for the lobby session by calling [XblMultiplayerManagerLobbySessionSetSynchronizedHost](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionsetsynchronizedhost.md) if the lobby session doesn't already have a host.  \
You can also send an invite to another user by calling either [XblMultiplayerManagerLobbySessionInviteUsers](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninviteusers.md) or [XblMultiplayerManagerLobbySessionInviteFriends](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninvitefriends.md). If you don't need a lobby session, and if you haven't added local users by calling [XblMultiplayerManagerLobbySessionAddLocalUser](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionaddlocaluser.md), you can instead call [XblMultiplayerManagerJoinGame](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingame.md) and specify the list of users to join the game.

## Requirements

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

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

## Conceptual documentation

* [Receiving invites](https://docs.xbox.com/services/xbox-services/multiplayer/invites/how-to/live-invites-receive.md)

## See also

[multiplayer\_manager\_c](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/multiplayer_manager_c_members.md)\
[XblMultiplayerManagerJoinability](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoinability.md)\
[XblMultiplayerManagerJoinGameFromLobby](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingamefromlobby.md)


## Related topics

- [XblMultiplayerManagerJoinGameFromLobby](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerjoingamefromlobby.md)
- [XblMultiplayerManagerLeaveGame](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerleavegame.md)
- [XblMultiplayerManagerLobbySessionInviteFriends](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninvitefriends.md)
- [XblMultiplayerManagerLobbySessionInviteUsers](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninviteusers.md)
- [XblMultiplayerManagerLobbySessionRemoveLocalUser](https://docs.xbox.com/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessionremovelocaluser.md)
