共用方式為


IsolatedWindowsEnvironmentUserInfo.TryWaitForSignInWithProgressAsync 方法

定義

已取代。 異步函式,可讓呼叫端等候環境登入程式完成,再繼續進行。 此函式會在等候登入時提供進度更新; TryWaitForSignInAsync 不會。

public:
 virtual IAsyncOperationWithProgress<bool, IsolatedWindowsEnvironmentSignInProgress> ^ TryWaitForSignInWithProgressAsync() = TryWaitForSignInWithProgressAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<bool, IsolatedWindowsEnvironmentSignInProgress> TryWaitForSignInWithProgressAsync();
/// [Windows.Foundation.Metadata.RemoteAsync]
/// [Windows.Foundation.Metadata.Deprecated("IsolatedWindowsEnvironmentUserInfo is deprecated and might not work on all platforms. For more info, see MSDN.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 327680, "Windows.Security.Isolation.IsolatedWindowsEnvironmentContract")]
IAsyncOperationWithProgress<bool, IsolatedWindowsEnvironmentSignInProgress> TryWaitForSignInWithProgressAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<bool,IsolatedWindowsEnvironmentSignInProgress> TryWaitForSignInWithProgressAsync();
[Windows.Foundation.Metadata.RemoteAsync]
[Windows.Foundation.Metadata.Deprecated("IsolatedWindowsEnvironmentUserInfo is deprecated and might not work on all platforms. For more info, see MSDN.", Windows.Foundation.Metadata.DeprecationType.Deprecate, 327680, "Windows.Security.Isolation.IsolatedWindowsEnvironmentContract")]
public IAsyncOperationWithProgress<bool,IsolatedWindowsEnvironmentSignInProgress> TryWaitForSignInWithProgressAsync();
function tryWaitForSignInWithProgressAsync()
Public Function TryWaitForSignInWithProgressAsync () As IAsyncOperationWithProgress(Of Boolean, IsolatedWindowsEnvironmentSignInProgress)

傳回

異步操作,傳回布爾值,指出登入是否成功,以及指出登入作業目前進度的進度值。

屬性

Windows 需求

裝置系列
Windows 11 Insider Preview (已於 10.0.23504.0 引進)
API contract
Windows.Security.Isolation.IsolatedWindowsEnvironmentContract (已於 v4.0 引進)

範例

下列範例會依標識元取得隔離的環境,並在檢查登入作業的進度時嘗試使用 TryWaitForSignInWithProgressAsync 登入。

void GetEnvironmentSignInInfo()
{
    auto environment = IsolatedWindowsEnvironment::GetById(environmentId);

    if (!environment)
    {
        LogMessage(L"Environment does not exist.");
        return;
    }

    auto result = environment.GetUserInfo();

    if (!result)
    {
        LogMessage(L"Failed to initialize GetUserInfo – verify that the environment exists.");
        return;
    }

    auto operation = result.TryWaitForSignInWithProgressAsync();

    operation.Progress([&](auto const&, IsolatedWindowsEnvironmentSignInProgress progress)
    {
        switch (progress)
        {
            case IsolatedWindowsEnvironmentSignInProgress::Connecting:
                UpdateProgressDialogUI(L"Connecting to isolated environment.");
                break;
            case IsolatedWindowsEnvironmentSignInProgress::Connected:
                UpdateProgressDialogUI(L"Established connection to isolated environment.");
                break;
            case IsolatedWindowsEnvironmentSignInProgress::Authenticating:
                UpdateProgressDialogUI(L"Signing in to isolated environment.");
                break;
            case IsolatedWindowsEnvironmentSignInProgress::SettingUpAccount:
                UpdateProgressDialogUI(L"Setting up user session.");
                break;
            case IsolatedWindowsEnvironmentSignInProgress::Finalizing:
                UpdateProgressDialogUI(L"Configuring user session settings.");
                break;
            case IsolatedWindowsEnvironmentSignInProgress::Completed:
                UpdateProgressDialogUI(L"Sign-in is complete.");
                break;
            default:
                LogMessage(L"Encountered an unknown progress state, this is unexpected. Do not update UI dialog.\n");
        }
    });
}

備註

警告

這是已被取代的 API。

適用於

另請參閱