| Предыдущий | Следующий |
| 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.
Данные, которые нужно сохранить до повтора
- Зафиксируйте первый отказ среди PeerCollabEnumContacts, PeerCollabGetContact и функций приглашений.
- Сохраните peer name контакта, перечисление контактов, профиль пользователя-владельца, события обновления/удаления и сведения о том, не хранит ли приложение устаревшую копию PEER_CONTACT.
- Поместите успешное создание/discovery, события изменения состояния и неудачный вызов на одну timeline.
- Сохраняйте peer name, identity, идентификаторы записей, данные приглашений и endpoint в исходном представлении Unicode или в двоичном виде.
Контролируемая изоляция
перечислите контакты непосредственно перед операцией и используйте один возвращённый объект контакта, затем сравните с устаревшим идентификатором. Меняйте только одну переменную; одновременные изменения 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 от последующего сбоя транспорта, авторизации или приложения.
Ссылки
- Microsoft: об API Peer Collaboration — источник документирует соответствующую peer boundary.
- Microsoft: функции Collaboration API — источник документирует соответствующую peer boundary.
- Microsoft: требования People Near Me — источник документирует соответствующую peer boundary.
- Microsoft: правила Windows Firewall — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.