multiplayer_c

Enumerations

Enumeration Description
XblMatchmakingStatus Defines values that indicate the status of a matchmaking request for a session.
XblMultiplayerInitializationStage Defines values that indicate the initialization stage of a session during managed initialization.
XblMultiplayerMeasurementFailure Defines values that indicate why Quality of Service (QoS) measurement failed during session initialization.
XblMultiplayerMetrics Defines values that indicate the type of metric used to measure matchmaking Quality of Service (QoS) for a session.
XblMultiplayerSessionChangeTypes Defines values that indicate change types for a multiplayer session.
XblMultiplayerSessionMemberStatus Defines values that indicate the status of a member of a session.
XblMultiplayerSessionRestriction Defines values that indicate restrictions on the users who can join a session.
XblMultiplayerSessionStatus Defines values that indicate the current status of a session.
XblMultiplayerSessionVisibility Defines values that indicate the visibility or accessibility of a session.
XblMultiplayerSessionWriteMode Defines values that indicate the mode used when creating or writing to a multiplayer session.
XblMutableRoleSettings Defines values that indicate which multiplayer role settings are mutable.
XblNetworkAddressTranslationSetting Defines values that indicate the current network address translation (NAT) settings for a console connecting to Xbox Live.
XblTournamentArbitrationState Defines values that indicate the arbitration state of a tournament game. DEPRECATED. This enumeration will be removed in a future release.
XblTournamentArbitrationStatus Defines values that indicate the status of a tournament game result. DEPRECATED. This enumeration will be removed in a future release.
XblTournamentGameResult Defines values that indicate the state of a tournament game. DEPRECATED. This enumeration will be removed in a future release.
XblTournamentGameResultSource Defines values that indicate the source for a tournament game state. DEPRECATED. This enumeration will be removed in a future release.
XblTournamentRegistrationReason Defines values that indicate reasons why the team is under selected tournament registration state. DEPRECATED. It will be removed in a future release
XblTournamentRegistrationState Defines values that indicate the team session registration state for a tournament. DEPRECATED. This enumeration will be removed in a future release.
XblWriteSessionStatus Defines values that indicate the write status of a multiplayer session.

Functions

Function Description
XblFormatSecureDeviceAddress Formats a secure device address given a unique device id for platforms that don't support SDAs.
XblMultiplayerAddConnectionIdChangedHandler Registers an event handler for notifications when the multiplayer connection id changes. Use the returned XblFunctionContext to unregister the handler.
XblMultiplayerAddSessionChangedHandler Registers an event handler for notifications when a multiplayer session changes. If the RTA subscription has not been explicitly enabled with XblMultiplayerSetSubscriptionsEnabled, adding session changed handlers will enable it automatically. Use the returned XblFunctionContext to unregister the handler.
XblMultiplayerAddSubscriptionLostHandler Registers an event handler for notifications when a multiplayer subscription is lost. Use the returned XblFunctionContext to unregister the handler.
XblMultiplayerClearActivityAsync Clears the user's current activity session for the specified serviceConfigurationId.
XblMultiplayerConnectionIdChangedHandler A callback method to be called when the multiplayer connection id changes.
XblMultiplayerCreateSearchHandleAsync Create a search handle associated with an existing session. This makes the session queryable.
XblMultiplayerCreateSearchHandleResult Get the result from an XblMultiplayerCreateSearchHandleAsync.
XblMultiplayerDeleteSearchHandleAsync Delete a search handle from the MPSD service.
XblMultiplayerGetActivitiesForSocialGroupAsync DEPRECATED - Call XblMultiplayerGetActivitiesWithPropertiesForSocialGroupAsync, which also populates CustomSessionProperties in the result.
Queries for the current activity for a social group of players associated with a particular "owner" player.
XblMultiplayerGetActivitiesForSocialGroupResult Gets the result of a call to XblMultiplayerGetActivitiesForSocialGroupAsync.
XblMultiplayerGetActivitiesForSocialGroupResultCount Gets the number of XblMultiplayerActivityDetails objects returned.
XblMultiplayerGetActivitiesForUsersAsync DEPRECATED - Call XblMultiplayerGetActivitiesWithPropertiesForUsersAsync, which also populates CustomSessionProperties in the result.
Queries for the current activity for a set of players specified by Xbox user ID.
XblMultiplayerGetActivitiesForUsersResult Gets the result of a call to XblMultiplayerGetActivitiesForUsersAsync.
XblMultiplayerGetActivitiesForUsersResultCount Gets the number of XblMultiplayerActivityDetails objects returned.
XblMultiplayerGetActivitiesWithPropertiesForSocialGroupAsync Queries for the current activity for a social group of players associated with a particular "owner" player.
XblMultiplayerGetActivitiesWithPropertiesForSocialGroupResult Gets the result of a call to XblMultiplayerGetActivitiesWithPropertiesForSocialGroupAsync.
XblMultiplayerGetActivitiesWithPropertiesForSocialGroupResultSize Gets the size of XblMultiplayerActivityDetails objects returned.
XblMultiplayerGetActivitiesWithPropertiesForUsersAsync Queries for the current activity for a set of players specified by Xbox user ID.
XblMultiplayerGetActivitiesWithPropertiesForUsersResult Gets the result of a call to XblMultiplayerGetActivitiesWithPropertiesForUsersAsync.
XblMultiplayerGetActivitiesWithPropertiesForUsersResultSize Gets the size of XblMultiplayerActivityDetails objects returned.
XblMultiplayerGetSearchHandlesAsync Search for sessions by their associated search handles.
XblMultiplayerGetSearchHandlesResult Get handles to the local search handle objects returned from XblMultiplayerGetSearchHandlesAsync call.
XblMultiplayerGetSearchHandlesResultCount Get the number of search handles returned from an XblMultiplayerGetSearchHandlesAsync call.
XblMultiplayerGetSessionAsync Gets an existing session object with all its attributes from the server.
XblMultiplayerGetSessionByHandleAsync Gets a session object with all its attributes from the server, given a session handle id.
XblMultiplayerGetSessionByHandleResult Gets the result of an XblMultiplayerGetSessionByHandleAsync call.
XblMultiplayerGetSessionResult Gets the result of an XblMultiplayerGetSessionResult call.
XblMultiplayerQuerySessionsAsync Retrieve a list of sessions with various filters.
XblMultiplayerQuerySessionsResult Gets the results of a session query.
XblMultiplayerQuerySessionsResultCount Gets the number of sessions that matched a session query.
XblMultiplayerRemoveConnectionIdChangedHandler Unregisters an event handler for multiplayer connection id changed notifications.
XblMultiplayerRemoveSessionChangedHandler Unregisters an event handler for multiplayer session change notifications.
XblMultiplayerRemoveSubscriptionLostHandler Unregisters an event handler for multiplayer subscription lost notifications.
XblMultiplayerSearchHandleCloseHandle Decrements the reference count to a local search handle details object.
XblMultiplayerSearchHandleDuplicateHandle Increments the reference count to a local search handle details object.
XblMultiplayerSearchHandleGetCreationTime Get the creation time of the search handle.
XblMultiplayerSearchHandleGetCustomSessionPropertiesJson Get the custom session properties for the associated session.
XblMultiplayerSearchHandleGetId Get the Id for the search handle object.
XblMultiplayerSearchHandleGetJoinRestriction Get join restriction of the session associated with the search handle.
XblMultiplayerSearchHandleGetMemberCounts Get the current and max number of members in the associated session.
XblMultiplayerSearchHandleGetNumberAttributes Get a pointer to an array of attributes attached with the search handle.
XblMultiplayerSearchHandleGetSessionClosed Get whether or not the session associated with the search handle is temporaraly closed for joining.
XblMultiplayerSearchHandleGetSessionOwnerXuids Get a pointer to an array of Xuids who own the session associated with the search handle.
XblMultiplayerSearchHandleGetSessionReference Get the session reference for the session the search handle is associated with.
XblMultiplayerSearchHandleGetStringAttributes Get a pointer to an array of attributes attached with the search handle.
XblMultiplayerSearchHandleGetTags Get a pointer to an array of tags attached with the search handle.
XblMultiplayerSearchHandleGetVisibility Get visibility of the session associated with the search handle.
XblMultiplayerSendInvitesAsync Invites the specified users to a session. This will result in a notification being shown to each invited user using standard invite text. If a user accepts that notification the title will be activated.
XblMultiplayerSendInvitesResult Invites the specified users to a session. This will result in a notification being shown to each invited user using standard invite text. If a user accepts that notification the title will be activated.
XblMultiplayerSessionAddMemberReservation Add a new member reservation on the session for the specified xuid and member constants.
XblMultiplayerSessionChangedHandler A callback method to be called when a session changes.
XblMultiplayerSessionCloseHandle Decrements the reference count to a local session object.
XblMultiplayerSessionCompare Checks the deltas between 2 sessions and returns an Or'ed MultiplayerSessionChangeType. Useful to compare a session object passed to XblMultiplayerWriteSessionAsync with the session object returned.
XblMultiplayerSessionConstantsSetArbitrationTimeouts Sets the arbitration timeouts for the session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetCapabilities Sets the capabilities constants for the session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetCloudComputePackageJson This can only be set when creating a new session. Can only be specified if the 'cloudCompute' capability is set. Enables clients to request that a cloud compute instance be allocated on behalf of the session.
XblMultiplayerSessionConstantsSetMaxMembersInSession Sets the maximum number of members in this session.
XblMultiplayerSessionConstantsSetMeasurementServerAddressesJson The set of potential server connection strings that should be evaluated.
XblMultiplayerSessionConstantsSetMemberInitialization If a 'memberInitialization' object is set, the session expects the client system or title to perform initialization following session creation and/or as new members join the session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetPeerToHostRequirements These thresholds apply to each connection from a host candidate. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetPeerToPeerRequirements These thresholds apply to each pairwise connection for all members in a session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetQosConnectivityMetrics Enables or disables connectivity metrics for the session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetTimeouts Sets the timeouts for the session. This can only be set when creating a new session.
XblMultiplayerSessionConstantsSetVisibility Sets the visibility of this session.
XblMultiplayerSessionCreateHandle Creates a new local multiplayer session.
XblMultiplayerSessionCurrentUser Returns the current User in the session.
XblMultiplayerSessionCurrentUserDeleteCustomPropertyJson Delete a custom property on the current user.
XblMultiplayerSessionCurrentUserSetCustomPropertyJson Set a custom property on the current user to the specified JSON string. The member must first be joined to the session.
XblMultiplayerSessionCurrentUserSetEncounters Sets a list of group names for the current user indicating which groups that user encountered during a multiplayer session. An encounter is a brief interaction with another group.
XblMultiplayerSessionCurrentUserSetGroups Sets a string vector of group names for the current user indicating which groups that user was part of during a multiplayer session.
XblMultiplayerSessionCurrentUserSetMembersInGroup Set a collection of members in the group. The member must first be joined to the session.
XblMultiplayerSessionCurrentUserSetQosMeasurements Sets a collection of XblMultiplayerQosMeasurements for the members. This is only useful when the title is manually managing QoS. (If the platform is automatically performing QoS, this does not need to be called)
XblMultiplayerSessionCurrentUserSetRoles Set the role info of the local member. The member must first be joined to the session.
XblMultiplayerSessionCurrentUserSetSecureDeviceAddressBase64 Set the base64 encoded secure device address of the member. The member must first be joined to the session.
XblMultiplayerSessionCurrentUserSetServerQosMeasurements Sets measurements JSON for the servers. This is only useful when the title is manually managing QoS. (If the platform is automatically performing QoS, this does not need to be called)
XblMultiplayerSessionCurrentUserSetStatus Set the current user to active or inactive. The member must first be joined to the session.
XblMultiplayerSessionDeleteCustomPropertyJson Deletes a session custom property.
XblMultiplayerSessionDuplicateHandle Increments the reference count to a local session object.
XblMultiplayerSessionEtag The ETag returned with this session.
XblMultiplayerSessionGetInfo Gets some basic info about the session. Represents the info in the root of the MPSD session document.
XblMultiplayerSessionGetInitializationInfo Get the info about session initialization.
XblMultiplayerSessionGetMember Gets the session member with a specified MemberId.
XblMultiplayerSessionGetRoleByName Fetches the XblMultiplayerRole object by role type name and role name.
XblMultiplayerSessionHostCandidates Host candidates are an ordered list of device tokens, ordered by preference as specified by XblMultiplayerMetrics in the session constants.
XblMultiplayerSessionJoin Joins the local user to the session, sets the user to active.
XblMultiplayerSessionLeave Call if the user who either created or got the session leaves the session.
XblMultiplayerSessionMatchmakingServer A multiplayer session server that contains properties associated with a target session reference.
XblMultiplayerSessionMembers Gets the collection of members that are in the session or entering the session together.
XblMultiplayerSessionMembersAccepted The number of members that have accepted and are added to the session and are no longer pending.
XblMultiplayerSessionPropertiesSetJoinRestriction Restricts who can join "open" sessions. (Has no effect on reservations, which means it has no impact on "private" and "visible" sessions.)
XblMultiplayerSessionPropertiesSetKeywords A collection of keywords associated with the session. (Optional, might be empty)
XblMultiplayerSessionPropertiesSetReadRestriction Restricts who can read "open" sessions. (Has no effect on reservations, which means it has no impact on "private" and "visible" sessions.)
XblMultiplayerSessionPropertiesSetTurnCollection Sets the collection of session MemberIds indicating whose turn it is.
XblMultiplayerSessionRawServersJson A JSON string containing a collection of servers for this multiplayer session. This Json object has the info that is parsed to create the XblMultiplayerArbitrationServer, XblMultiplayerMatchmakingServer, and XblMultiplayerTournamentsServer objects.
XblMultiplayerSessionReferenceCreate Creates an XblMultiplayerSessionReference object from a service configuration ID (SCID), session template name, and session name.
XblMultiplayerSessionReferenceIsValid Verifies whether an XblMultiplayerSessionReference object is well formed.
XblMultiplayerSessionReferenceToUriPath Returns the URI path representation of a session reference.
XblMultiplayerSessionReferenceParseFromUriPath Returns the session reference parsed from a URI.
XblMultiplayerSessionRoleTypes A set of role types associated with this session.
XblMultiplayerSessionSessionConstants A set of constants associated with this session. These can only be set when creating the session.
XblMultiplayerSessionSessionProperties Get the properties associated with the session. Any player can modify these properties.
XblMultiplayerSessionSessionReference The uniquely identifying information for the session.
XblMultiplayerSessionSetAllocateCloudCompute If this property is set an allocation of the 'cloudComputePackage' will be attempted.
XblMultiplayerSessionSetClosed If set to true, makes the session "closed", meaning that new users will not be able to join unless they already have a reservation.
XblMultiplayerSessionSetCustomPropertyJson Set a session custom property to the specified JSON string.
XblMultiplayerSessionSetHostDeviceToken Sets the device token of the host.
XblMultiplayerSessionSetInitializationSucceeded This can only be set when creating a new session.
XblMultiplayerSessionSetLocked Sets if a session is locked or not. If locked, members that leave the session will be able to come back into the session, allowing no additional users to take that spot.
XblMultiplayerSessionSetMatchmakingResubmit Sets if a match needs to be resubmitted or not.
XblMultiplayerSessionSetMatchmakingServerConnectionPath Forces a specific server connection string to be used, useful in preserveSession=always cases.
XblMultiplayerSessionSetMatchmakingTargetSessionConstantsJson Sets the properties of the matchmaking. This should only be set by a client acting as a matchmaking service.
XblMultiplayerSessionSetMutableRoleSettings Sets the max member count and/or target member counts for a role.
XblMultiplayerSessionSetRawServersJson Sets the JSON string containing a collection of servers for this multiplayer session.
XblMultiplayerSessionSetServerConnectionStringCandidates The ordered list of case-insensitive connection strings that the session could use to connect to a game server. Generally titles should use the first on the list, but sophisticated titles could use a custom mechanism for choosing one of the others (e.g. based on load).
XblMultiplayerSessionSetSessionChangeSubscription Configures the set of session changes that this client will be subscribed to.
XblMultiplayerSessionSubscribedChangeTypes Returns an OR'd set of XblMultiplayerSessionChangeTypes values representing the aspects of the session that the current xboxlivecontext is subscribed to, of XblMultiplayerSessionChangeTypes::None if there is none.
XblMultiplayerSessionSubscriptionLostHandler A callback method to be called when a rta subscription is lost.
XblMultiplayerSessionTimeOfSession The time when the server returned the session.
XblMultiplayerSessionWriteStatus After call XblMultiplayerWriteSessionAsync, the status of the write.
XblMultiplayerSetActivityAsync Sets the passed session as the user's current activity, which will be displayed in Xbox dashboard user experiences (e.g. friends and gamercard) as associated with the currently running title. If the session is joinable, it may also be displayed as such in those user experiences.
XblMultiplayerSetSubscriptionsEnabled Explicitly starts or stops the multiplayer service connectivity via RTA. Enabling the RTA subscription enables: 1. Callbacks when the local Users's sessions change, using the MultiplayerSession object. Handlers are added with XblMultiplayerAddSessionChangedHandler. 2. Automatic removal of members from sessions when the RTA connection underlying this multiplayer subscription is broken.
XblMultiplayerSetTransferHandleAsync The access rights the caller has to the origin session are extended to the target session.
XblMultiplayerSetTransferHandleResult Gets the result of a XblMultiplayerSetTransferHandleAsync operation.
XblMultiplayerSubscriptionsEnabled Indicates whether multiplayer subscriptions are currently enabled. Note that subscriptions can be enabled/disabled explicitly using XblMultiplayerSetSubscriptionsEnabled, but they will also be enabled automatically if a session changed handler is added.
XblMultiplayerWriteSessionAsync Writes a new or updated multiplayer session to the service. The session must have a valid session reference. If it was not created with one, use XblMultiplayerWriteSessionByHandleAsync instead.
XblMultiplayerWriteSessionByHandleAsync Writes a new or updated multiplayer session to the service, using the specified handle to the session.
XblMultiplayerWriteSessionByHandleResult Gets the result of a XblMultiplayerWriteSessionAsync operation.
XblMultiplayerWriteSessionResult Gets the result of a XblMultiplayerWriteSessionAsync operation.

Handles

Handle Description
XblMultiplayerSearchHandle A handle to an search details object that is associated with a MPSD sessions. The object has filterable and queryable attributes about the session.
XblMultiplayerSessionHandle Handle to a local multiplayer session. This handle will be used to query and change the local session object. Anytime the changes made to the local session object will not be reflected in the multiplayer service until a subsequent call to XblMultiplayerWriteSessionAsync.

Structures

Structure Description
XblDeviceToken Token that represents a unique device participating in the session. It's a case-insensitive string that can be used for equality comparisons.
XblFormattedSecureDeviceAddress A formatted secure device address.
XblMultiplayerActivityDetails Represents a users current multiplayer activity, along with some details about the corresponding session.
XblMultiplayerArbitrationServer Represents the arbitration server that supports a multiplayer session. DEPRECATED. This structure will be removed in a future release.
XblMultiplayerInviteHandle A handle that corresponds to an outstanding invite that has been sent.
XblMultiplayerMatchmakingServer Represents the matchmaking server that supports a multiplayer session.
XblMultiplayerMemberInitialization Represents requirements for a new Multiplayer service session.
XblMultiplayerPeerToHostRequirements Represents requirements for each connection between a host candidate and session members.
XblMultiplayerPeerToPeerRequirements Represents requirements for a connection between session members.
XblMultiplayerRole Represents role info for a multiplayer role.
XblMultiplayerRoleType Represents a category of roles for a multiplayer session.
XblMultiplayerSessionCapabilities Represents the capabilities of a Multiplayer service session.
XblMultiplayerSessionChangeEventArgs Arguments passed to the event handler when a session change occurs.
XblMultiplayerSessionConstants Represents constants for a multiplayer session.
XblMultiplayerSessionHandleId Represents a handle ID of a multiplayer session.
XblMultiplayerSessionInfo Basic info about a local multiplayer session.
XblMultiplayerSessionInitArgs Optional args when creating a new local multiplayer session.
XblMultiplayerSessionInitializationInfo Present during member initialization.
XblMultiplayerSessionMember Represents a read only reference to member in a multiplayer session.
XblMultiplayerSessionMemberRole Represents a session member's role in the session.
XblMultiplayerSessionNumberAttribute An associative attribute that can be attached to a multiplayer session search handle when it is created. Attribute names be lower-case alphanumeric, and start with a letter.
XblMultiplayerSessionProperties A set of properties associated with this session. Any player can modify these properties.
XblMultiplayerSessionQuery Queries the visible multiplayer sessions based on the configuration of this request.
XblMultiplayerSessionQueryResult Session information returned from a XblMultiplayerQuerySessionsAsync call.
XblMultiplayerSessionReference Represents a reference to a multiplayer session.
XblMultiplayerSessionReferenceUri Represents a URI path representation of a session reference.
XblMultiplayerSessionStringAttribute An associative attribute that can be attached to a multiplayer session search handle when it is created. Attribute names be lower-case alphanumeric, and start with a letter.
XblMultiplayerSessionTag A searchable tag that can be attached to a multiplayer session search handle when it is created. Tags must be alphanumeric and start with a letter. They're case-insensitive.
XblMultiplayerTournamentsServer Represents the tournament server that supports a multiplayer session. DEPRECATED. This structure will be removed in a future release.
XblMultiplayerTournamentTeam Represents a team in a tournament. DEPRECATED. This structure will be removed in a future release.
XblTournamentGameResultWithRank Represents the result of a multiplayer game. DEPRECATED. This structure will be removed in a future release.
XblTournamentReference Represents a reference to a tournament reference. DEPRECATED. This structure will be removed in a future release.
XblTournamentTeamResult Represents a team result for a multiplayer game. DEPRECATED. This structure will be removed in a future release.