| Предыдущий | Следующий |
| 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 для профиля ещё не включён» больше не возникает на сопоставимом входе.
Технические ссылки
- Client Presence Roaming.
- Microsoft RTC return constants.
- SIP presence event package.
- Watcher information.
Нужно найти другой код? Найти другой код состояния или ошибки.