| Предыдущий | Следующий |
| ONL_CONNECTION_COUNT_LIMIT | ONL_E_USER_AUTHENTICATION_REQUIRED |
ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT
В пределах Windows Online ID и интерактивной аутентификации учётной записи ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT (0x8086000E) сообщает, что приложение не может выполнить sign-out учётной записи, подключённой к Windows в текущей конфигурации. Рассматривайте это как условие запрета sign-out подключённой учётной записи Online ID и начинайте с CanSignOut, состояния connected account и вызывающего sign-out кода, а не с итогового текста диалога.
Почему этот HRESULT специфичен
Broker может вернуть этот HRESULT до выдачи service ticket. Сохраняйте вместе асинхронную операцию, запрошенные scopes/tickets, идентичность приложения, UI-контекст и результат исправления состояния учётной записи; wrapper-сообщение вроде «не удалось войти» уничтожает это различие.
Решающий вопрос — подтверждают ли записанные данные, что приложение не может выполнить sign-out подключённой к Windows учётной записи. Привязывайте доказательства к неудачной операции.
Данные, способные изменить диагноз
- Основная запись: значение CanSignOut, состояние connected account и вызывающий sign-out код.
- Корреляция объекта: сохраняйте связанную с CanSignOut, connected-account state и sign-out caller идентичность продукта, учётной записи, пакета, устройства, ключа или API рядом с первым результатом с временной меткой.
- Контроль соседнего состояния: используйте контролируемое сравнение, проверяющее отличие sign-out приложения от удаления или отключения Windows account.
- Результат до/после: сохраните результат до и после исправления «учитывать CanSignOut и использовать поддерживаемый путь управления Windows account»; сохраняйте те же идентификаторы до нового результата broker.
Как отличить соседние сбои
Не объединяйте соседние статусы: Sign-out приложения отличается от удаления или отключения Windows account. Диагноз запрета sign-out подключённой учётной записи Online ID остаётся однозначным только пока основная запись и затронутая идентичность неизменны.
Контролируемая последовательность диагностики
- Найдите точный объект: Используйте основную запись, чтобы определить транзакцию или лицензированный объект, который фактически вернул
ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT. - Сохраните первое решение: Запишите самое раннее событие о невозможности sign-out подключённой к Windows учётной записи вместе с кодом, временем UTC и теми же полями идентичности.
- Измените одну предпосылку: Учитывайте CanSignOut и используйте поддерживаемый путь управления Windows account; не объединяйте это со сбросом store, заменой ключа, удалением учётной записи, переустановкой пакета или несвязанным repair.
- Повторите пользовательскую операцию: Повторно выполните исходную операцию и требуйте, чтобы broker вернул новый результат; если появится другой HRESULT, диагностируйте его как новую границу.
Предосторожности для сохранения доказательств
При исследовании ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT, не собирайте пароли или tokens в диагностические журналы и не обходите broker UI встроенными формами ввода учётных данных. Такой обход может заменить или обесценить доказательства до понимания исходного решения.
Проверка результата
Инцидент считается устранённым только когда broker возвращает новый результат. Подтвердите его повторением точно той операции, которая выдала ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT; успешное обслуживание само по себе недостаточно.
Технические ссылки
- Microsoft Win32 metadata: winerror.h — справочник определения статуса.
- Microsoft: ошибки Web Account Manager — справочник сервиса/API-владельца.
- Microsoft: OnlineIdAuthenticator.CanSignOut — справочник API диагностики/исправления.
- Microsoft: класс OnlineIdAuthenticator — справочник жизненного цикла.
Нужно найти другой код? Найти другой код состояния или ошибки.
