Site icon EfmSoft

Что означает код HRESULT 0x80630109 (PEER_E_CONNECTION_FAILED)?

 
Предыдущий Следующий
PEER_E_NODE_NOT_FOUND PEER_E_CONNECTION_NOT_AUTHENTICATED

PEER_E_CONNECTION_FAILED

Какой peer contract отклонён

PEER_E_CONNECTION_FAILED — HRESULT 0x80630109 означает, что попытка соединения с графом, группой или напрямую завершилась до установления пригодной peer-связи. PEER_E_CONNECTION_FAILED — Базовое описание сообщает результат; для диагностики нужен контракт данных и жизненный цикл, используемые PeerGraphConnect, PeerGroupConnect, вызовами прямого соединения и сетевой трассировкой.

Peer Graphing поддерживает связанный набор nodes, реплицирует records и имеет отдельные lifetimes graph, node, connection и event. Открытая graph database не означает, что node подключён.

Минимальный диагностический пакет

ЭлементДоказательство
Исходные данныеСохраните целевой IPv6 endpoint, порт, результат PNRP, результат TCP connect, решение firewall, события графа/группы и любую ошибку SSP или учётных данных, предшествовавшую итоговому коду.
Контекст-владелецЗапишите Windows user, process integrity, graph/group handle, database path и выбранный cloud.
Предыдущий успехСохраните последний успешный результат create/open/enumerate/parse/register/sign-in, создавший объект.
Порядок результатовСохраняйте первый HRESULT, чтобы cleanup failures не заменили код, отклонивший запрос.

Целевое воспроизведение

подключитесь по явному адресу к одному заведомо доступному peer и сравните с обнаружением по имени, чтобы отделить транспорт от разрешения имени. Используйте disposable identities/groups, если тест публикует names, создаёт credentials или изменяет replicated database.

Почему код сравнения отличается

PEER_E_CONNECTION_REFUSED отличается тем, что отказ указывает на доступного соседа, который не принимает соединение; здесь же речь идёт о более общем сбое установления связи. Диагностический отчёт должен сохранять symbolic constant и unsigned hexadecimal value.

Рекомендуемое изменение

исправьте первый отказавший уровень — разрешение имени, маршрут, listener, firewall или аутентификацию — вместо слепого повтора общего вызова соединения. Не удаляйте все peer databases, certificate store или firewall rules: широкие сбросы стирают доказательства и не подтверждают исправление caller contract.

Подтверждение исправления

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

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют целевой IPv6 endpoint, порт, результат PNRP, результат TCP connect, решение firewall, события графа/группы и предшествовавшая итоговому коду ошибка SSP или учётных данных.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаПостройте минимальный сценарий, в котором соединение с графом, группой или напрямую не доходит до установления пригодной peer-связи.В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGraphConnect, PeerGroupConnect, вызовов прямого соединения и сетевой трассировки.
Контролируемое сравнениеподключитесь по явному адресу к одному заведомо доступному peer и сравните с обнаружением по имени, чтобы отделить транспорт от разрешения имени.Между неуспешным и успешным запуском изменяется только целевое состояние node или connection.
Путь восстановленияисправьте первый отказавший уровень — разрешение имени, маршрут, listener, firewall или аутентификацию — вместо слепого повтора общего вызова соединения.Нужная операция завершается успешно без замены несвязанной replicated graph database.

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

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


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

Exit mobile version