XblMultiplayerSessionConstants

表示多人游戏会话的常数值。

语法

typedef struct XblMultiplayerSessionConstants {  
    uint32_t MaxMembersInSession;  
    XblMultiplayerSessionVisibility Visibility;  
    uint64_t* InitiatorXuids;  
    size_t InitiatorXuidsCount;  
    const char* CustomJson;  
    const char* SessionCloudComputePackageConstantsJson;  
    uint64_t MemberReservedTimeout;  
    uint64_t MemberInactiveTimeout;  
    uint64_t MemberReadyTimeout;  
    uint64_t SessionEmptyTimeout;  
    uint64_t ArbitrationTimeout;  
    uint64_t ForfeitTimeout;  
    bool EnableMetricsLatency;  
    bool EnableMetricsBandwidthDown;  
    bool EnableMetricsBandwidthUp;  
    bool EnableMetricsCustom;  
    XblMultiplayerMemberInitialization* MemberInitialization;  
    XblMultiplayerPeerToPeerRequirements PeerToPeerRequirements;  
    XblMultiplayerPeerToHostRequirements PeerToHostRequirements;  
    const char* MeasurementServerAddressesJson;  
    bool ClientMatchmakingCapable;  
    XblMultiplayerSessionCapabilities SessionCapabilities;  
} XblMultiplayerSessionConstants  

成员

MaxMembersInSession
类型:uint32_t

该会话中的最大成员数。

可见性
类型:XblMultiplayerSessionVisibility

该会话的可见性。

InitiatorXuids
类型:uint64_t*

Xbox 用户 ID 的集合,指示发起会话的人员。 (可选)

InitiatorXuidsCount
类型:size_t

InitiatorXuids 数组中的条目数。

CustomJson
类型:const char*

在 JSON 字符串中指定的会话的任何自定义常数。 创建会话后,无法更改这些常数。 (可选)

SessionCloudComputePackageConstantsJson
类型:const char*

在 JSON 字符串中指定的会话的云计算包常数。 创建会话后,无法更改这些常数。 (可选)

MemberReservedTimeout
类型:uint64_t

具有保留的成员加入会话的最长时间(以毫秒为单位)。 如果成员在此时间内未加入,则删除预留。

MemberInactiveTimeout
类型:uint64_t

非活动成员处于活动状态的最长时间(以毫秒为单位)。 如果非活动成员在此期间未处于活动状态,则从会话中删除该成员。

MemberReadyTimeout
类型:uint64_t

标记为准备进入活动状态成员的最长时间(以毫秒为单位)。 当 shell 启动游戏以开始多人游戏时,将该成员标记为已就绪。 如果标记为“已就绪”的成员在此期间未处于活动状态,则该成员将变为非活动状态。

SessionEmptyTimeout
类型:uint64_t

会话可以保持为空的最长时间(以毫秒为单位)。 如果此时间内没有成员加入会话,则删除该会话。

ArbitrationTimeout
类型:uint64_t

从表示最终确定结果时间的开始时间起的增量,以毫秒为单位。 如果此时没有人(客户端或服务器)报告,我们会声明匹配结果不完整。 已弃用。 此成员会在将来的版本中删除。

ForfeitTimeout
类型:uint64_t

从表示取消匹配(如果会话没有活动用户)时间的开始时间起的增量,以毫秒为单位。 已弃用。 此成员会在将来的版本中删除。

EnableMetricsLatency
类型:布尔

如果为 true,则指示游戏需要测量延迟以帮助确定连接性。 需要 capabilities.connectivity 为 true。

EnableMetricsBandwidthDown
类型:布尔

如果为 true,则表示游戏需要测量下游 (host-to-peer) 带宽以帮助确定连接性。 需要 capabilities.connectivity 为 true。

EnableMetricsBandwidthUp
类型:布尔

如果为 true,则指示游戏需要测量上游 (peer-to-host) 带宽以帮助确定连接性。 需要 capabilities.connectivity 为 true。

EnableMetricsCustom
类型:布尔

如果为 true,则表示游戏需要自定义度量来帮助确定连接性。 需要 capabilities.connectivity 为 true。

MemberInitialization
类型:XblMultiplayerMemberInitialization*

如果已设置,则会话预期客户端系统或游戏在创建会话后执行初始化。 超时和初始化阶段由会话自动跟踪,包括初始服务质量 (QoS) 测量值(如果设置了任何指标)。

PeerToPeerRequirements
类型:XblMultiplayerPeerToPeerRequirements

对于会话成员之间连接的 QoS 要求。

peerToHostRequirements
类型:XblMultiplayerPeerToHostRequirements

对于候选主机和会话成员之间每个连接的 QoS 要求。

MeasurementServerAddressesJson
类型:const char*

应评估的潜在服务器连接字符串集。

ClientMatchmakingCapable
类型:bool

指示是否可以写入匹配状态字段。

SessionCapabilities
类型:XblMultiplayerSessionCapabilities

会话的功能。

备注

仅在创建会话时由创建者或会话模板设置的会话常数。

要求

头文件:multiplayer_c.h

另请参阅

multiplayer_c