XUserAddAsync
以非同步方式將使用者新增至遊戲工作階段。語法
參數
options _In_類型:XUserAddOptions 將使用者新增至遊戲工作階段的選項。 async _Inout_
類型:XAsyncBlock* 用於輪詢呼叫狀態並擷取呼叫結果的 XAsyncBlock。
傳回值
類型:HRESULT HRESULT 成功或錯誤碼。 如需錯誤碼清單,請參閱錯誤碼。備註
XUserAddAsync 會啟動非同步作業,將使用者新增至遊戲。請使用 XUserAddResult 來擷取作業的結果。 除非將 XUserAddOptions::AddDefaultUserSilently 或 XUserAddOptions::AddDefaultUserAllowingUI 傳遞給 options 參數,否則 XUserAddAsync 一律會顯示帳戶選擇器 UI。 如果您使用 XUserAddOptions::AddDefaultUserSilently,XUserAddAsync 不會顯示 UI。 使用簡化使用者模型 (NDA 主題) 時,此函式有一些注意事項:- 使用簡化使用者模型時,開發人員應確定 options 設定為 XUserAddOptions::AddDefaultUserSilently:
- 在主機上,除非已有預設使用者登入,否則使用簡化使用者模型的鬆散部署遊戲將不允許 啟動。
- 在 PC 上,使用簡化使用者模型的鬆散部署遊戲可以在沒有使用者的情況下啟動; 不過,當遊戲呼叫 XUserAddAsync 時,如果沒有任何人登入,遊戲將會 終止,並啟動 PC Bootstrapper 來協助使用者登入。只要使用者已完全登入 XBOX Live, 後續啟動就會正常運作。
- 如果您重複呼叫此函式,且我們知道啟動遊戲的預設使用者,則會傳回同一位使用者。
- 如果先前已知的預設使用者已登出,且裝置上只有一位已登入的使用者,則會 將該使用者標示為新的「預設」使用者並傳回該使用者。
- 如果先前已知的預設使用者已登出,且裝置上有多位已登入的使用者,則 會傳回 E_GAMEUSER_NO_DEFAULT_USER。
- 如果您重複呼叫此函式,且我們知道啟動遊戲的預設使用者,則會傳回同一位使用者。
- 如果先前已知的預設使用者已登出,且裝置上只有一位已登入的使用者,則會將該使用者標示為新的「預設」使用者並傳回該使用者。
- 如果最初啟動遊戲的使用者已登出,且使用者數目為 0 或超過 1 位,系統會顯示 UI 以取得使用者,然後將該使用者設定為預設使用者。
需求
標頭: XUser.h 程式庫: xgameruntime.lib 支援的平台: Windows、Steam Deck、XBOX One 系列主機和 XBOX Series 主機概念文件
- 執行 Microsoft Game Development Kit (GDK) API 工作
- 非同步程式設計的設計目標與改進
- 在遊戲中實作玩家登入
- Game Chat 2 簡介
- 使用 Game Chat 2 C++ API
- 實作玩家登入
