Describes a multiplayer session that can be joined. Reference page contains links to related code samples. Gets the number of gamers in the session. Gets the gamertag of the session host. Gets an estimate of the quality of network service between this local machine and the remote session. Gets any custom properties that have been attached to the session. Represents a collection of sessions available for joining. Reference page contains links to related code samples. Immediately releases the collection. Gets a value that indicates whether the object is disposed. Creates an instance of GameEndedEventArgs. Creates an instance of GamerJoinedEventArgs. The gamer who just joined the session. Gets the gamer who just joined the session. Creates an instance of GamerLeftEventArgs. The gamer who just left the session. Gets the gamer who just left the session. Creates an instance of GameStartedEventArgs. Creates an instance of HostChangedEventArgs. The player who was the previous session host. The player who is the new host of the multiplayer session. Gets the new host of the session. Gets the player who was the previous session host. Represents a local player in a network session. Specifies whether voice data should be sent to, or received from, the specified remote gamer. A remote gamer in the session. true if voice is enabled; false otherwise. Determines if there is incoming packet data for this player. Reads the next incoming packet and copies the packet data into the specified reader object. Reference page contains links to related code samples. Network packet data. [OutAttribute] Gamer who sent this packet. Reads the next incoming packet using the specified values. Reference page contains links to related code samples. Storage for the network packet data. [OutAttribute] Gamer who sent this packet. Reads the next incoming packet using the specified values. Reference page contains links to related code samples. Storage for the network packet data. Offset, in bytes, to begin reading data. [OutAttribute] Gamer who sent this packet. Reference page contains links to related code samples. Byte array containing session data. Enumeration containing data send options. Reference page contains links to related code samples. Byte array containing session data. Enumeration containing data send options. Gamer receiving the data. Reference page contains links to related code samples. Byte array containing session data. Enumeration containing data send options. Sends a byte array to the specified gamer. Reference page contains links to related code samples. Byte array containing session data. Enumeration containing data send options. Gamer to receive the data packet. Reference page contains links to related code samples. Byte array containing session data. Offset, in bytes, to the start of the data. Amount, in bytes, of data sent. Enumeration containing data send options. Sends a selected portion of a byte array to the specified gamer. Reference page contains links to related code samples. Byte array containing session data. Offset, in bytes, to the start of the data. Amount, in bytes, of data sent. Enumeration containing data send options. Gamer to receive the data packet. Sends game invitations to all party members that are not in the current game session. Reference page contains links to related code samples. Gets the SignedInGamer instance for this SignedInGamer object. Represents a player in a network session. Indicates whether this gamer has left the session. Determines if the player has a voice headset. Gets a unique identifier that can be used to refer to this gamer in network packets. Determines whether this gamer is logged in as a guest profile. Determines if the player is the host of the multiplayer session. Determines if the player is playing on a local machine. Determines if the player is muted by one or more local users. Determines if the player occupies a reserved private session slot. Determines whether the gamer is ready to leave the lobby screen and begin gameplay. Reference page contains links to related code samples. Determines whether the gamer is currently sending voice data. Gets an object representing the physical gaming machine this NetworkGamer is playing on. Gets an estimate of the network latency involved in sending a packet round trip from the local machine to this gamer and back again. Gets the multiplayer session of the gamer. Represents a physical machine (such as single Xbox 360 console or Windows-based computer) that is participating in a multiplayer session. It can be used to detect when more than one NetworkGamer is playing on the same actual machine. Gets a collection of all the gamers who are playing on this machine. Forcibly removes this machine from the session. Represents a multiplayer game session. Reference page contains links to related code samples. Adds the specified local gamer profile to the network session. The gamer to add to the network session Gets or sets whether host migration is allowed. This can be read by any machine in the session, but can only be changed by the host. The default value is false indicating that host migration is disabled. Reference page contains links to related conceptual articles. Gets or sets whether join-in-progress is allowed. If the host enables this setting, new machines will be able to join at any time. The default value is false, indicating that join-in-progress is disabled. AllowJoinInProgress can be read by any machine in the session, but can only be changed by the host. Reference page contains links to related code samples. Type of session being created. A collection of local gamers to add to the network session. The first gamer in the collection becomes the host; the others are added to the session. Maximum number of players allowed in this network session. For a Windows or an Xbox 360 game, this value must be between 2 and 31; 31 is the maximum number of players supported in a session. Number of reserved private session slots created for the session. This value must be less than maximumGamers. Properties of the session being created. The method to be called once the asynchronous operation is finished. State of the asynchronous operation. Type of session being created. Maximum number of local players on the same gaming machine in this network session. Maximum number of players allowed in this network session. For games based on Windows or Xbox 360, this value must be between 2 and 31; 31 is the maximum number of players supported in a session. The method to be called once the asynchronous operation is finished. State of the asynchronous operation. Type of session being created. Maximum number of local players on the same gaming machine in this network session. Maximum number of players allowed in this network session. For games based on Windows or Xbox 360, this value must be between 2 and 31; 31 is the maximum number of players supported in a session. Number of reserved private session slots created for the session. This value must be less than maximumGamers. Properties of the session being created. The method to be called once the asynchronous operation is finished. State of the asynchronous operation. Type of session sought. A collection of local gamers to add to the network session. Optional session properties to match during the search. If this argument is null, the query results will not be filtered based on properties of available sessions. If any of the search property values in searchProperties are specified, the query returns only sessions with matching properties. null items in the searchProperties collection will match to any value for that session property. Method to be called once the asynchronous operation is finished. State of the asynchronous operation. Type of session sought. Maximum number of local players on the same gaming machine in this network session. Optional session properties to match during the search. If this argument is null, query results will not be filtered based on properties of available sessions. If any search property values in searchProperties are specified, the query returns only sessions with matching properties. null items in the searchProperties collection will match to any value for that session property. Method to be called once the asynchronous operation is finished. State of the asynchronous operation. Starts a join operation for the specified multiplayer session. Session the gamer is attempting to join. The method to be called once the asynchronous operation is finished. State of the asynchronous operation. A collection of local signed-in gamers to add to the network session. Method to be called at the conclusion of the asynchronous operation. State of the asynchronous operation. The number of local signed-in gamers to add to the network session when accepting the invite. This must be at least one, and can be as high as the limit imposed by the title or the platform. On Windows, this value must always be set to one. Method to be called at the conclusion of the asynchronous operation. State of the asynchronous operation. Gets a performance counter recording the amount of data being received from the network. Gets a performance counter recording the amount of data being sent over the network. Type of session being hosted. A collection of local gamers to add to the network session. The first gamer in the collection becomes the host; the others are added to the session. Maximum number of players allowed in this network session. This value for games based on Windows or Xbox 360 must be between 2 and 31; 31 is the maximum number of players supported in a session. Number of reserved private session slots created for the session. This value must be less than maxGamers. Properties of the session being created. Type of session being hosted. Maximum number of local players on the same gaming machine in this network session. Maximum number of players allowed in this network session. This value for games based on Windows or Xbox 360 must be between 2 and 31; 31 is the maximum number of players supported in a session. Type of session being hosted. Maximum number of local players on the same gaming machine in this network session. Maximum number of players allowed in this network session. This value for games based on Windows or Xbox 360 must be between 2 and 31; 31 is the maximum number of players supported in a session. Number of reserved private session slots created for the session. This value must be less than maxGamers. Properties of the session being created. Ends the current multiplayer session. Gets the result from a BeginCreate asynchronous call. An IAsyncResult used to track the progress of the operation. Gets the result from a BeginFind asynchronous call. An IAsyncResult used to track the progress of the operation. Changes the session state from NetworkSessionState.Playing to NetworkSessionState.Lobby. Gets the result from a BeginJoin asynchronous call. An IAsyncResult used to track the progress of the operation. Gets the result from a BeginJoinInvited asynchronous call. An IAsyncResult used to track the progress of the operation. Reference page contains links to related code samples. Type of session sought. A collection of local gamers to add to the network session. Optional session properties to match during the search. If this argument is null, the query results will not be filtered based on the session properties of available sessions. If any of the search property values in searchProperties are specified, only sessions with matching properties will be returned by the query. null items in the searchProperties collection will match to any value for that session property. Reference page contains links to related code samples. Type of session sought. Maximum number of local players on the same gaming machine in this network session. Optional session properties to match during the search. If this argument is null, the query results will not be filtered based on the session properties of available sessions. If any of the search property values in searchProperties are specified, only sessions with matching properties will be returned by the query. null items in the searchProperties collection will match to any value for that session property. Identifier specifying the network gamer for which to search. Occurs when the game moves from gameplay to the lobby. Reference page contains links to related code samples. Occurs when a new player joins a multiplayer session. Reference page contains links to related code samples. Reference page contains links to related code samples. Occurs when the game moves from the lobby into actual gameplay. Reference page contains links to related code samples. Gets the current host of the multiplayer session. Occurs when the session host has changed. Event that occurs when a user has accepted an invitation to join a network session. Contains information relevant to event handlers when a gamer accepts a game invitation. These event arguments include a Gamer property representing the signed-in gamer who has accepted the invitation. Gets a value that indicates whether the object is disposed. Determines whether all gamers are ready to enter the session. Reference page contains links to related code samples. Determines whether this machine is the session host. Reference page contains links to related code samples. An existing multiplayer session. Joins the specified local gamers, along with the local machine, to an existing network session in response to an InviteAccepted notification event from a non-local session. A collection of local signed-in gamers to add to the network session. Joins the local machine to an existing network session in response to an InviteAccepted notification event from a non-local session. The number of local signed-in gamers to add to the network session when accepting the invite. This must be at least one, and can be as high as the limit imposed by either the title or platform. On Windows, this value must always be set to one. Get the collection of local gamers for a multiplayer session. Gets or sets the maximum number of players able to join this multiplayer session. Represents the maximum number of gamers that can be held in the PreviousGamers property. Maximum number of gamers supported in a session. A collection of previous gamers in the network session. Gets or sets the number of private slots reserved for gamers who join using an invitation. Gets the collection of remote gamers for a multiplayer session. Resets the IsReady property of all session gamers. Occurs when the multiplayer session ends. Reference page contains links to related code samples. Gets any custom properties that have been attached to the session. Gets the current state of a multiplayer session. Gets the current multiplayer session type. Gets or sets the amount of simulated network latency. Gets or sets the amount of simulated packet loss. Changes the session state from NetworkSessionState.Lobby to NetworkSessionState.Playing. TBD TBD TBD Represents the arguments passed to a SessionEnded event. These arguments are passed to event handlers when a session ends. Creates an instance of NetworkSessionEndedEventArgs. Reason for ending the session. Gets the reason for ending a session. Defines the reason a session ended. This client player has signed out of session. The host left the session, removing all active players. The host removed this client player from the session. Network connectivity problems ended the session Contains additional data about a NetworkSessionJoinException. The session could not be found. Occurs if the session has ended after the matchmaking query but before the client joined, of if there is no network connectivity between the client and session host machines. The session exists but is not joinable. Occurs if the session is in progress but does not allow gamers to join a session in progress. The session exists but does not have any open slots for local signed-in gamers. Thrown if an error was encountered while joining a session. Creates an empty instance of NetworkSessionJoinException. Creates an instance of NetworkSessionJoinException with the specified streaming context. Describes information related to the session being joined when the exception occurred. Describes the stream where the exception occurred. Creates an instance of NetworkSessionJoinException with the specified error message. A message that describes the error. Creates an instance of NetworkSessionJoinException with the specified error and additional information on the exception. A message that describes the error. Reason for the exception. Creates an instance of NetworkSessionJoinException with the specified error message and inner exception. A message that describes the error. The inner exception related to this exception. Information necessary for serialization and deserialization of the session item. Information necessary for the source and destination of a given serialized stream. Also provides an additional caller-defined context. Gets or sets a more detailed description of the session join failure. Describes custom, game-specific information about a NetworkSession object. Reference page contains links to related code samples. Creates an empty instance of NetworkSessionProperties. Gets the number of custom session properties. Gets an enumerator for iterating over the custom property values. Gets or sets a custom session property value at the specified index Index of the item to retrieve. The System.Collections.Generic.ICollection{T}.Add interface method is not supported by NetworkSessionProperties. The value to add. The System.Collections.Generic.ICollection{T}.Clear interface method is not supported by NetworkSessionProperties. Checks whether the collection contains the specified value. The value to search for. Copies the contents of the collection to an array. The array to receive the contents of the collection. Starting index for the copy operation. Gets a value indicating whether the collection is read-only. The System.Collections.Generic.ICollection{T}.Remove interface method is not supported by NetworkSessionProperties. The item to remove. Gets the index of the specified value. The value to search for. The System.Collections.Generic.IList{T}.Insert interface method is not supported by NetworkSessionProperties. Index for the insertion operation Item to insert. The System.Collections.Generic.IList{T}.RemoveAt interface method is not supported by NetworkSessionProperties. Index of the item to remove. Gets an enumerator for iterating over the custom property values. Defines the different states of a multiplayer session. The local machine joins the session, waiting in the pregame lobby. The GameStarted event is raised when gameplay begins. The local machine joins the session, currently in the middle of gameplay. The GameEnded event is raised when the session returns to the lobby. The local machine has left the current session or the session has ended. The SessionEnded event is raised at this time. The event's arguments describe the reason for the session ending. Defines the different types of a multiplayer session. Reference page contains links to related code samples. Does not involve any networking traffic, but can be used for split-screen gaming on a single Xbox 360 console. Creating a local network session may also make it easier to share code between local and online game modes. Creates a local session with access to write to leaderboards on the Xbox LIVE servers. This local session type allows guests or other Xbox LIVE player profiles to join the session. Connect multiple Xbox 360 consoles or computers over a local subnet. These machines do not require a connection to Xbox LIVE or any Xbox LIVE accounts. However, connection to machines on different subnets is not allowed. If you are a Creators Club developer testing your game, you can use this type to connect an Xbox 360 console to a computer. However, cross-platform networking is not supported in games distributed to non–Creators Club community players. Uses the Xbox LIVE servers. This enables connection to other machines over the Internet. It requires a Xbox LIVE Silver Membership for Windows-based games or a Xbox LIVE Gold membership for Xbox 360 games. Games in development will also require an XNA Creators Club premium membership. While in trial mode, Indie games downloaded from Xbox LIVE Markeplace will not have access to Xbox LIVE matchmaking. All session matches are ranked. This option is available only for commercial games that have passed Xbox LIVE certification. Due to the competitive nature of the gameplay, this session type does not support join-in-progress. Provides common functionality for efficiently reading incoming network packets. Reference page contains links to related code samples. Initializes an empty instance of PacketReader. Initializes an empty instance of PacketReader with the specified options. Initial capacity for a received network packet. Gets the length of the packet being read. Gets or sets the current packet read position. Reads a Color value. Reads an 8-byte floating point value. Reference page contains links to related code samples. Reads a Matrix value. Reference page contains links to related code samples. Reads a Quaternion value. Reference page contains links to related code samples. Reads a 4-byte floating point value. Reference page contains links to related code samples. Reads a Vector2 value. Reference page contains links to related code samples. Reads a Vector3 value. Reference page contains links to related code samples. Reads a Vector3 value. Reference page contains links to related code samples. Provides common functionality for efficiently formatting outgoing network packets. Reference page contains links to related code samples. Initializes an empty instance of PacketWriter. Initializes a new instance of PacketWriter with the specified capacity. Capacity for the packet writer. Gets the length of the packet being written. Gets or sets the current packet write position. Writes a Color value to an outgoing network packet. Value to be written. Writes a Matrix value to an outgoing network packet. Reference page contains links to related code samples. Value being written. Writes a Quaternion value to an outgoing network packet. Reference page contains links to related code samples. Value being written. Writes a Vector2 value to an outgoing network packet. Reference page contains links to related code samples. Value being written. Writes a Vector3 value to an outgoing network packet. Reference page contains links to related code samples. Value being written. Writes a Vector4 value to an outgoing network packet. Reference page contains links to related code samples. Value being written. Writes a Double value to an outgoing network packet. Value to be written. Writes a Single value to an outgoing network packet. Value to be written. Describes the quality of the network connection between this machine and the host of a multiplayer session that was discovered with a matchmaking query. Gets the average (median) round trip time of all the network packets that were sent during the quality of service measurement process. Gets an estimate of the available downstream network bandwidth from the session host to this machine, measured in bytes per second. Gets an estimate of the available upstream network bandwidth from this machine to the session host, measured in bytes per second. Checks whether this quality of service operation has completed. Gets the minimum round trip time of any network packet that was sent during the quality of service measurement process. Defines options for network packet transmission. Sends the data with no guarantees. Packets of this type may be delivered in any order, with occasional packet loss. This is the most efficient option in terms of network bandwidth and machine resource usage. However, it is recommended only in situations where your game can recover from occasional packet loss. Sends the data with reliable delivery, but no special ordering. Packets of this type are resent until arrival at the destination. They may arrive out of order. Sends the data with guaranteed ordering, but without reliable delivery. Occasionally, packets of this type are not delivered. However, any delivered packets always arrive in the order in which they are sent. Use this option in situations where the transmitted value changes constantly. Old versions never arrive after a more recent version. Sends the data with reliability and arrival in the order originally sent. Packets of this type are resent until arrival and ordered internally. This means they arrive in the same order in which they were sent. In terms of network bandwidth usage, this is the strongest and most expensive option. Use this only when arrival and ordering are essential. Commonly, a game uses this option for a small percentage of packets. The majority of gameplay data is sent using None or Reliable. Mark that this packet contains chat data, such as a player-to-player message string entered using the keyboard. To comply with international regulations, you must send such data without packet encryption. Therefore, you must use this flag to mark it. To maintain security, other game data should not use this flag. It is acceptable and efficient to mix encrypted and unencrypted data. If you send packets both with and without this flag within a single frame, both the encrypyted and unencrypted data streams will be merged into a single wire packet. This option can be combined with either or both of the Reliable and InOrder flags. When you request in-order delivery for chat packets, they will be ordered relative to other chat packets, but they may arrive out of order with respect to other non-chat data. Represents the arguments passed to a WriteArbitratedLeaderboard. WriteUnarbitratedLeaderboard, or WriteTrueSkill event. Gets the gamer whose statistics need to be written to the leaderboard. Indicates whether or not the player is leaving the session early.