qBool CreateMatchmakeSession( ProtocolCallContext * pContext, const GatheringHolder & matchmakingSession, GatheringID * gid, qVector< qByte > * pSessionKey, const String strMessage = _T("") ); qBool CreateMatchmakeSession( ProtocolCallContext * pContext, const CreateMatchmakeSessionParam & createMatchmakeSessionParam, MatchmakeSession * joinedMatchmakingSession );
CreateMatchmakeSession ( ProtocolCallContext *, const GatheringHolder &, GatheringID *, qVector< qByte > *, const String ) | Creates and joins a matchmaking session. |
CreateMatchmakeSession ( ProtocolCallContext *, const CreateMatchmakeSessionParam &, MatchmakeSession * ) | Creates and joins a matchmaking session. |
We recommend using the overload that takes CreateMatchmakeSessionParam
as an argument. This function creates the specified matchmaking session, joins it, and then the local system becomes the owner and host. If asynchronous processing is successful, a gathering ID for the created matchmaking session and a common key generated by the game server for P2P communication are set. The common key is shared by all participants in a matchmaking session.
The asynchronous process might return the following results.
Pass the following error to the Error/EULA applet. This error must be removed during debugging.
QERROR(Core, InvalidArgument)
: The string or buffer that was to be sent is too large. The matchmakingSession parameter is invalid. MATCHMAKE_SYSTEM_TYPE_PERSISTENT_GATHERING
or MATCHMAKE_SYSTEM_TYPE_OLV_COMMUNITY
was specified for the matchmaking system type, but the gathering ID of the persistent gathering was not set as the 0th attribute or as a related persistent gathering ID.
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.
This function creates the specified matchmaking session, joins it, and then the local system becomes the owner and host. If asynchronous processing is successful, a gathering ID for the created matchmaking session and a common key generated by the game server for P2P communication are set. The common key is shared by all participants in a matchmaking session.
The following results may be returned as a result of asynchronous operation. Use the application to handle these results.
QERROR(RendezVous, NotParticipatedGathering)
: The user that the function attempted to add is not a participant of the gathering specified by the CreateMatchmakeSessionParam::SetGatheringIdForParticipationCheck
function.QERROR(RendezVous, UserIsOffline)
: The user that the function attempted to add is not logged in to NGS.
Pass the following error to the Error/EULA applet. Errors must be removed during debugging.
QERROR(Core, InvalidArgument)
: The string or buffer that was to be sent is too large. The matchmakingSession parameter is invalid. MATCHMAKE_SYSTEM_TYPE_PERSISTENT_GATHERING
or MATCHMAKE_SYSTEM_TYPE_OLV_COMMUNITY
was specified for the matchmaking system type, but the gathering ID of the persistent gathering was not set as the 0th attribute or as a related persistent gathering ID.
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