XblMultiplayerSessionMember

表示对多人游戏会话中成员的只读引用。

语法

typedef struct XblMultiplayerSessionMember {  
    uint32_t MemberId;  
    const char* TeamId;  
    const char* InitialTeam;  
    XblTournamentArbitrationStatus ArbitrationStatus;  
    uint64_t Xuid;  
    const char* CustomConstantsJson;  
    const char* SecureDeviceBaseAddress64;  
    const XblMultiplayerSessionMemberRole* Roles;  
    size_t RolesCount;  
    const char* CustomPropertiesJson;  
    char Gamertag[XBL_GAMERTAG_CHAR_SIZE];  
    XblMultiplayerSessionMemberStatus Status;  
    bool IsTurnAvailable;  
    bool IsCurrentUser;  
    bool InitializeRequested;  
    const char* MatchmakingResultServerMeasurementsJson;  
    const char* ServerMeasurementsJson;  
    const uint32_t* MembersInGroupIds;  
    size_t MembersInGroupCount;  
    const char* QosMeasurementsJson;  
    XblDeviceToken DeviceToken;  
    XblNetworkAddressTranslationSetting Nat;  
    uint32_t ActiveTitleId;  
    uint32_t InitializationEpisode;  
    time_t JoinTime;  
    XblMultiplayerMeasurementFailure InitializationFailureCause;  
    const char** Groups;  
    size_t GroupsCount;  
    const char** Encounters;  
    size_t EncountersCount;  
    XblMultiplayerSessionReference TournamentTeamSessionReference;  
    void* Internal;  
} XblMultiplayerSessionMember  

成员

MemberId
类型:uint32_t

此成员的 ID。 在此成员所属的会话的上下文中是唯一的。

TeamId
类型:const char*

此成员团队在锦标赛中的 ID。 已弃用。 将来的版本会取消此限制。

InitialTeam
类型:const char*

来自 SmartMatch 的初始团队分配。

ArbitrationStatus
类型:XblTournamentArbitrationStatus

比赛中成员的仲裁状态。 已弃用。 将来的版本会取消此限制。

Xuid
类型:uint64_t

该成员的 Xbox 用户 ID。 仅当成员已接受时才知道。

CustomConstantsJson
类型:const char*

用于指定成员的自定义常量的 JSON 字符串。

SecureDeviceBaseAddress64
类型:const char*

成员的 base64 编码安全设备地址。 (可选)

Roles
类型:const XblMultiplayerSessionMemberRole*

此成员的角色数组。 (可选)

RolesCount
类型:size_t

角色数组中的条目数量。

CustomPropertiesJson
类型:const char*

用于指定成员的自定义属性的 JSON 字符串。

Gamertag
类型:char[XBL_GAMERTAG_CHAR_SIZE]

该成员的玩家代号。 (可选)仅当成员已接受时才知道。

Status
类型:XblMultiplayerSessionMemberStatus

此成员的状态。

IsTurnAvailable
类型:bool

仅当此成员准备好转变时才为 true。

IsCurrentUser
类型:bool

指示此 MultiplayerSessionMember 是否针对当前用户。

InitializeRequested
类型:bool

指示为此用户运行 QoS 初始化。 默认为 false。 如果会话没有“memberInitialization”部分,则忽略。

MatchmakingResultServerMeasurementsJson
类型:const char*

当匹配将用户添加到会话时,它可以提供关于它们如何以及为何匹配到会话中的一些上下文。 这是匹配会话中的用户的 serverMeasurements 的副本。

ServerMeasurementsJson
类型:const char*

按游戏服务器连接字符串划分的 QoS 测量。 与所有字段一样,“serverMeasurements”必须作为一个整体更新,因此在测量完成时应设置一次。 如果为空,则表示在“serverMeasurementTimeout”内没有完成任何测量。

MembersInGroupIds
类型:const uint32_t*

我群组中成员 ID 的集合。 如果设置了“initializationGroup”列表,则将一直添加成员自己的索引(如果尚未提供)。 在托管初始化过程中,如果列表中的任何成员失败,此成员也将失败。

MembersInGroupCount
类型:size_t

MembersInGroupIds 数组中的条目数量。

QosMeasurementsJson
类型:const char*

按安全设备地址划分的 QoS 测量。 与所有字段一样,“测量”必须作为一个整体更新。 在测量完成时应设置一次,而不是每次递增时设置。 如果设置了“测量”对象,则它不能包含成员自己地址的条目。

DeviceToken
类型:XblDeviceToken

当成员上传安全设备地址时设置此项。 它是可用于相等比较的不区分大小写的字符串。

Nat
类型:XblNetworkAddressTranslationSetting

当成员上传安全设备地址时这是设备的 NAT 设置。

ActiveTitleId
类型:uint32_t

如果该成员处于活动状态,则这是它们在其中处于活动状态的游戏 ID。

InitializationEpisode
类型:uint32_t

只有当游戏手动管理自己的 QoS 时,此值才用于读取。 如果设置了“memberInitialization”部分,并添加了其中 "initialize":true 的成员,此操作会设置为成员将参与其中的初始化剧集,否则它将为 0。 用户批量加入会话。 初始化剧集编号指示需要对其执行 QoS 的一组用户。 初始化剧集 1 是用于在创建时间向新会话添加的成员的特殊值。

JoinTime
类型:time_t

用户加入会话的时间。 如果“保留”为 true,则表示执行预订的时间。

InitializationFailureCause
类型:XblMultiplayerMeasurementFailure

初始化失败的原因,或者如果没有失败,则为 XblMultiplayerMeasurementFailure::None。 如果此成员未通过,则在从“加入”或“测量”阶段过渡到其他阶段时进行设置。

Groups
类型:const char**

当前用户的组名数组,指示用户在多人游戏会话期间属于哪些组。

GroupsCount
类型:size_t

组数组中的项目数量。

Encounters
类型:const char**

获取当前用户的组名列表,该列表指示用户在多人游戏会话期间遇到了哪些组。

EncountersCount
类型:size_t

组数组中的项目数量。

TournamentTeamSessionReference
类型:XblMultiplayerSessionReference

锦标赛团队会话引用。 已弃用。 将来的版本会取消此限制。

Internal
类型:void*

仅供内部使用。

要求

头文件:multiplayer_c.h

另请参阅

multiplayer_c