AddDefaultUserSilentlyフラグを指定してXUserAddAsyncを呼び出す場合、UI は表示されません (オートメーションに役立ちます)。ただし、取得できるのはゲームを起動したユーザーのみです。このフラグを指定して API を繰り返し呼び出しても、結果は変わりません。同じユーザーの新しいハンドルを取得し続けるだけです。AddDefaultUserSilentlyフラグを指定せずにXUserAddAsyncを呼び出す場合、UI が表示され、誰かがボタンを押すのを待ちます。これはオートメーションを妨げます。
- サインイン ユーザーをコンソールに追加するには、
signinオプションを指定して xbuser (NDA トピック) コマンドライン ツールを使用できます。各ユーザーに対してこの手順を繰り返します。 - ゲームでユーザーを追加するときに通常表示される UI を抑制するには、次のように
HeadlessXuserオプションを指定して xbconfig (NDA トピック) コマンドライン ツールを使用できます。
- ゲームを起動します。
- ゲーム内では、
AddDefaultUserSilentlyフラグを持たないXUserAddAsyncの各呼び出しは、コンソールにサインインし、ゲームによって関連付けられた未処理のXUserHandleオブジェクトを持たない最初のユーザーを返します。 - ゲームが
XUserAddAsyncを呼び続けると、最終的にコンソールにサインインしているユーザーの数を使い果たします。この後、XUserAddAsyncはE_ABORTを返します。これは、ユーザーがコンソールへのサインインをキャンセルした場合 (または UI から戻った場合) にXUserAddAsyncが返すエラーとまったく同じです。 - テスト目的で、ゲームはコンソールにサインインしている テスト アカウント の数を知りたい場合があります。これを容易にするために、ゲームは
CreateProcessを呼び出し、listオプションを指定してwduserコマンドライン ツールを起動できます。
