| Предыдущий | Следующий |
| 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.
Подтверждение исправления
- Исходный input теперь проходит точную проверку, представленную этим HRESULT.
- Операция достигает требуемого результата для графа, группы, записи, PNRP или Peer Collaboration.
- Несвязанные identity material, membership credentials и replicated records остаются неизменными.
Инструментирование и регрессионное покрытие
Фиксируйте первый неудачный вызов, а не более поздний результат 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. Такая запись позволяет регрессионному тесту отличить состояние жизненного цикла графа от последующего сбоя транспорта, авторизации или приложения.
Технические ссылки
- Microsoft: обзор Peer Graphing API — источник документирует соответствующую peer boundary.
- Microsoft Open Specifications: протокол Peer-to-Peer Graphing — источник документирует соответствующую peer boundary.
- Microsoft: Security Service Providers for Peer Graphing — источник документирует соответствующую peer boundary.
- Microsoft: общие return codes Peer Infrastructure — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.
