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

Syntax

qBool JoinMatchmakeSession(
     ProtocolCallContext * pContext,
     GatheringID gid,
     qVector< qByte > * pSessionKey,
     const String strMessage = _T("")
);

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

Overloaded Member Functions

JoinMatchmakeSession ( ProtocolCallContext *, GatheringID, qVector< qByte > *, const String ) Joins a matchmaking session.
JoinMatchmakeSession ( ProtocolCallContext *, const JoinMatchmakeSessionParam &, MatchmakeSession * ) Joins a matchmaking session.

Description of JoinMatchmakeSession ( ProtocolCallContext *, GatheringID, qVector< qByte > *, const String )

We recommend using the overload that takes JoinMatchmakeSessionParam as an argument. 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 maximum number of participants has already been reached.
QERROR(RendezVous, SessionClosed): The matchmaking session is no longer open to new joins.
QERROR(RendezVous, NotFriend): The local station attempted to join a matchmaking session where the owner is not a friend of the local user. (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.

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.

Description of JoinMatchmakeSession ( ProtocolCallContext *, const JoinMatchmakeSessionParam &, MatchmakeSession * )

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 maximum number of participants has already been reached.
QERROR(RendezVous, SessionClosed): The matchmaking session is no longer open to new joins.
QERROR(RendezVous, NotFriend): The local station attempted to join a matchmaking session where the owner is not a friend of the local user. (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.


CONFIDENTIAL