Site icon EfmSoft

Что означает код HRESULT 0x80636001 (PEER_E_CONTACT_NOT_FOUND)?

 
Предыдущий Следующий
PEER_E_PNRP_DUPLICATE_PEER_NAME PEER_E_INVITE_CANCELLED

PEER_E_CONTACT_NOT_FOUND

Где peer stack отклоняет операцию

PEER_E_CONTACT_NOT_FOUND — HRESULT 0x80636001 означает, что запрошенный доверенный контакт отсутствует в локальном хранилище контактов Peer Collaboration. PEER_E_CONTACT_NOT_FOUND — Рассматривайте это как результат сеанса presence, а не как общий сбой peer-сети.

Peer Collaboration обеспечивает бессерверное presence, контакты, подписки на endpoint и приглашения. Его операции зависят от интерактивного контекста пользователя, явно выбранных областей sign-in и разрешений firewall/privacy.

Данные, которые нужно сохранить до повтора

Контролируемая изоляция

перечислите контакты непосредственно перед операцией и используйте один возвращённый объект контакта, затем сравните с устаревшим идентификатором. Меняйте только одну переменную; одновременные изменения identity, cloud, database и firewall state уничтожают причинную привязку.

Контрольная точкаВопрос для PEER_E_CONTACT_NOT_FOUND
До APIБыл ли требуемый процесс обработки приглашения получен в этом процессе и контексте пользователя?
На HRESULTСохраните peer name контакта, перечисление контактов, профиль пользователя-владельца, события обновления/удаления и сведения о том, не хранит ли приложение устаревшую копию PEER_CONTACT.
После исправленияобновите представление хранилища контактов или заново установите доверие через предусмотренный пользовательский сценарий; не приглашайте молча другого обнаруженного peer.

Соседний результат

PEER_E_IDENTITY_NOT_FOUND отличается тем, что contact-not-found относится к другому человеку в хранилище контактов Collaboration, а identity-not-found — к локальной peer-identity. Сохраняйте оба HRESULT в хронологическом порядке: исправление предпосылки может открыть следующий этап validation.

Безопасная реакция

обновите представление хранилища контактов или заново установите доверие через предусмотренный пользовательский сценарий; не приглашайте молча другого обнаруженного peer. Перед изменениями сохраняйте durable graph databases, group exports, identity certificates и invitation artifacts.

Инструментирование и регрессионное покрытие

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют peer name контакта, перечисление контактов, профиль пользователя-владельца, события обновления/удаления и наличие в приложении устаревшей копии PEER_CONTACT.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаПостройте минимальный сценарий, в котором запрошенный доверенный контакт отсутствует в локальном хранилище Peer Collaboration.В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerCollabEnumContacts, PeerCollabGetContact и функций приглашений.
Контролируемое сравнениеперечислите контакты непосредственно перед операцией и используйте один возвращённый объект контакта, затем сравните с устаревшим идентификатором.Между неудачным и успешным запуском меняется только предусмотренный процесс обработки приглашения.
Путь восстановленияобновите представление хранилища контактов или заново установите доверие через предусмотренный пользовательский сценарий; не приглашайте молча другого обнаруженного peer.Нужная операция завершается успешно без изменения несвязанных разрешений пользователя и firewall.

Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить этот сеанс presence от последующего сбоя транспорта, авторизации или приложения.

Ссылки


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

Exit mobile version