Что означает код HRESULT 0x80EE0028 (RTC_E_PRESENCE_NOT_ENABLED)?

 
Предыдущий Следующий
RTC_E_CLIENT_ALREADY_SHUT_DOWN RTC_E_INVALID_SESSION_TYPE

RTC_E_PRESENCE_NOT_ENABLED

Интерпретация результата

RTC_E_PRESENCE_NOT_ENABLED (0X80EE0028) означает: операция требует presence, но presence для профиля ещё не включён. Значение полезно только вместе с фазой RTC/COM state machine; последующий общий network error не должен заменять первичный результат.

Английский маркер для сопоставления с исходной документацией: a presence operation was requested before presence was enabled for an appropriate profile. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.

Что сохранить

  • profile identity и текущий presence enabled/roaming state.
  • buddy/watchers/groups URI/ID и collection generation.
  • ACL/authorization state и событие, после которого появился результат.

Код-специфическая проверка

Проверяйте enabled state именно того profile, которому принадлежит presence object. Созданный buddy list сам по себе не включает presence. Сначала завершите EnablePresence/registration path и дождитесь соответствующего state callback, затем повторяйте list/watch operation.

Сверяйте server ID/URI элемента с текущей buddy, watcher или group collection и её roaming generation; локальный кэш после sync может быть уже устаревшим.

Проверьте, не является ли результат корректным сигналом идемпотентности: сравните identity существующего объекта с тем, который код собирается создать или включить. Повторное создание после такого результата может породить второй lifecycle и скрыть владельца состояния.

Практический сценарий из EN-описания: An application adds a buddy immediately after sign-in but before the presence-enabled event.. В воспроизведении меняйте только параметр или state, который отличает этот сценарий от рабочего.

Восстановление

Если существующий объект соответствует запросу, продолжайте с ним; если нет — завершите именно конфликтующую generation и создайте новую после подтверждённого cleanup.

После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «операция требует presence, но presence для профиля ещё не включён» больше не возникает на сопоставимом входе.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.