> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XblMultiplayerSessionProperties

> XblMultiplayerSessionProperties

# XblMultiplayerSessionProperties

與此工作階段相關聯的一組屬性。任何玩家都可以修改這些屬性。

## 語法

```cpp theme={null}
typedef struct XblMultiplayerSessionProperties {  
    const char** Keywords;  
    size_t KeywordCount;  
    XblMultiplayerSessionRestriction JoinRestriction;  
    XblMultiplayerSessionRestriction ReadRestriction;  
    uint32_t* TurnCollection;  
    size_t TurnCollectionCount;  
    const char* MatchmakingTargetSessionConstantsJson;  
    const char* SessionCustomPropertiesJson;  
    const char* MatchmakingServerConnectionString;  
    const char** ServerConnectionStringCandidates;  
    size_t ServerConnectionStringCandidatesCount;  
    uint32_t* SessionOwnerMemberIds;  
    size_t SessionOwnerMemberIdsCount;  
    XblDeviceToken HostDeviceToken;  
    bool Closed;  
    bool Locked;  
    bool AllocateCloudCompute;  
    bool MatchmakingResubmit;  
} XblMultiplayerSessionProperties  
```

### 成員

*Keywords*\
類型：const char\*\*

與工作階段相關聯的關鍵字集合 (選用，可能為空白)。

*KeywordCount*\
類型：size\_t

關鍵字的數目。

*JoinRestriction*\
類型：[XblMultiplayerSessionRestriction](/zh-TW/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayersessionrestriction)

限制誰可以加入 "open" 工作階段。(對保留沒有影響，這表示對 "private" 和 "visible" 工作階段沒有影響。) 預設為 "none"。如果為 "local"，則只有權杖的 DeviceId 與已在工作階段中且 "active": true 的其他人相符的使用者。如果為 "followed"，則只有本機使用者 (如上所定義) 以及受到工作階段現有 (非保留) 成員追蹤的使用者，才能在沒有保留的情況下加入。

*ReadRestriction*\
類型：[XblMultiplayerSessionRestriction](/zh-TW/reference/live/xsapi-c/multiplayer_c/enums/xblmultiplayersessionrestriction)

限制誰可以讀取 "open" 工作階段。(對保留沒有影響，這表示對 "private" 和 "visible" 工作階段沒有影響。) 預設為 "none"。如果為 "local"，則只有權杖的 DeviceId 與已在工作階段中且 "active": true 的其他人相符的使用者。如果為 "followed"，則只有本機使用者 (如上所定義) 以及受到工作階段現有 (非保留) 成員追蹤的使用者，才能在沒有保留的情況下讀取。讀取限制適用於可見性為 "open" 或 "visible" 的工作階段，並決定誰可以在沒有邀請的情況下讀取工作階段。讀取限制的可存取程度必須至少與加入限制相同，亦即若未同時設定 'readRestriction'，就無法將 'joinRestriction' 設定為 "followed"。"

*TurnCollection*\
類型：uint32\_t\*

工作階段 MemberId 的集合，指出輪到誰。

*TurnCollectionCount*\
類型：size\_t

TurnCollection 陣列中的項目數。

*MatchmakingTargetSessionConstantsJson*\
類型：const char\*

代表目標工作階段常數的 JSON 字串。

*SessionCustomPropertiesJson*\
類型：const char\*

指定工作階段自訂屬性的 JSON 字串。這些屬性可隨時變更。變更時，請呼叫 multiplayer\_service::write\_session 將變更寫入服務。

*MatchmakingServerConnectionString*\
類型：const char\*

強制使用特定的連接字串。這適用於加入進行中工作階段的案例。

*ServerConnectionStringCandidates*\
類型：const char\*\*

工作階段可用來連線至遊戲伺服器之連接字串的排序清單。一般而言，遊戲應使用清單中的第一個，但較複雜的遊戲可以使用自訂機制來選擇其他字串之一 (例如根據負載)。

*ServerConnectionStringCandidatesCount*\
類型：size\_t

ServerConnectionStringCandidates 陣列中的項目數。

*SessionOwnerMemberIds*\
類型：uint32\_t\*

工作階段擁有者的工作階段 MemberId。

*SessionOwnerMemberIdsCount*\
類型：size\_t

SessionOwnerMemberIds 陣列中的項目數。

*HostDeviceToken*\
類型：[XblDeviceToken](/zh-TW/reference/live/xsapi-c/multiplayer_c/structs/xbldevicetoken)

主機的裝置權杖。必須至少與一個成員的 "deviceToken" 相符，否則會刪除此欄位。如果已設定 "peerToHostRequirements" 且已設定 "host"，測量階段會假設指定的主機是正確的主機，並且只測量到該主機的計量。

*Closed*\
類型：bool

控制工作階段是否可加入，與可見性、加入限制以及工作階段中的可用空間無關。不會影響保留。預設為 false。

*Locked*\
類型：bool

如果為 true，則允許鎖定工作階段的成員，如此一來，如果使用者離開，他們可以回到工作階段，但其他使用者無法佔用該位置。預設為 false。

*AllocateCloudCompute*\
類型：bool

由用戶端設定為 true 時，會觸發 MPSD 嘗試進行 XBOX Live Compute 配置。預設為 false。

*MatchmakingResubmit*\
類型：bool

如果找到的配對未成功且需要重新提交，則為 true。設定為 false 表示配對成功，且配對服務可以釋放工作階段。

## 需求

**標頭：** multiplayer\_c.h

## 另請參閱

[multiplayer\_c](/zh-TW/reference/live/xsapi-c/multiplayer_c/multiplayer_c_members)


## Related topics

- [多人遊戲工作階段進階主題](/zh-TW/services/xbox-services/multiplayer/mpsd/concepts/live-mpsd-details.md)
- [XblMultiplayerSessionSessionProperties](/zh-TW/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersessionsessionproperties.md)
- [XblMultiplayerSessionPropertiesSetKeywords](/zh-TW/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersessionpropertiessetkeywords.md)
- [XblMultiplayerSessionDeleteCustomPropertyJson](/zh-TW/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersessiondeletecustompropertyjson.md)
- [XblMultiplayerSessionPropertiesSetJoinRestriction](/zh-TW/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersessionpropertiessetjoinrestriction.md)
