nn::nex::MatchmakeExtensionClient::JoinMatchmakeSession Member Function

Syntax

qBool JoinMatchmakeSession(
     ProtocolCallContext * pContext,
     const JoinMatchmakeSessionParam & joinMatchmakeSessionParam,
     MatchmakeSession * joinedMatchmakingSession
);

Parameters

Name Description
in pContext Call information.
in joinMatchmakeSessionParam Parameters for the matchmaking session joining process.
out joinedMatchmakingSession The joined matchmaking session.

Return Values



Value Description
true Call initialization succeeded.
false Failure.

Description

Joins a matchmaking session.

The matchmaking session having the specified ID is joined. If joined successfully, the owner of the matchmaking session is notified of this event. If asynchronous processing is successful, a common key for P2P communication is set.

The following results may be returned as a result of asynchronous operation. Use the application to handle these results.

QERROR(RendezVous, SessionVoid): The matchmaking session does not exist.
QERROR(RendezVous, SessionFull): The session has already reached the maximum number of participants.
QERROR(RendezVous, SessionClosed): The matchmaking session is no longer open to new joins.
QERROR(RendezVous, NotFriend): Attempted to join a matchmaking session where the user is not the owner or a friend. (This result only occurs when MATCHMAKE_SYSTEM_TYPE_FRIEND is used.)
QERROR(RendezVous, DeniedByParticipants): The local user is on the blacklist of a participant in the matchmaking session.
QERROR(RendezVous, ParticipantInBlackList): A participant in the matchmaking session is registered in the local blacklist.
QERROR(RendezVous, MatchmakeSessionUserPasswordUnmatch): The local station attempted to join a matchmaking session with a user password that does not match the password that is set.
QERROR(RendezVous, MatchmakeSessionSystemPasswordUnmatch): The local station attempted to join a matchmaking session with a system password that does not match the password that is set.
QERROR(RendezVous, NotParticipatedGathering)
: The user that the function attempted to add is not a participant of the gathering specified by the JoinMatchmakeSessionParam::SetGatheringIdForParticipationCheck function. Or, the local station was not a participant in the gathering specified by the JoinMatchmakeSessionParam::SetGatheringId function when attempting to add another user after specifying JOIN_MATCHMAKE_SESSION_OPTION_IM_ALREADY_JOINED in the JoinMatchmakeSessionParam::SetJoinMatchmakeSessionBehavior function.
QERROR(RendezVous, AlreadyParticipatedGathering): Attempted to add a user who is already a participant in the gathering. Or, the local station specified JOIN_MATCHMAKE_SESSION_OPTION_JOIN_MYSELF in the JoinMatchmakeSessionParam::SetJoinMatchmakeSessionBehavior function and attempted to join a session where it was already a participant.
QERROR(RendezVous, UserIsOffline): The user that the function attempted to add is not logged in to the NGS.

Pass the following error to the Error/EULA applet. This error must be removed during debugging.
QERROR(Core, InvalidArgument): An attempt was made to send a string longer than MATCHMAKE_STRING_MAX_LENGTH.

You can choose to either handle the following error in the application or pass it to the error/EULA applet.

QERROR(RendezVous, GameServerMaintenance): This error occurs when the function is called between the GameServerMaintenance notification event and when game server maintenance takes place.

See Also

Network::SetP2PDataPacketSessionSignatureKey

Revision History

2014/05/16
Corrected the mistaken use of the JoinMatchmakeSessionParam::SetJoinMatchmakeSessionOption function to replace JoinMatchmakeSessionParam::SetJoinMatchmakeSessionBehavior within the description of errors.
2014/03/13
Initial version.

CONFIDENTIAL