| Предыдущий | Следующий |
| PEER_E_SERVICE_NOT_AVAILABLE | PEER_E_INVALID_PEER_HOST_NAME |
PEER_E_CANNOT_CONVERT_PEER_NAME
Где peer stack отклоняет операцию
PEER_E_CANNOT_CONVERT_PEER_NAME — HRESULT 0x80634001 означает сбой преобразования peer name в DNS-совместимое PNRP host-name representation. PEER_E_CANNOT_CONVERT_PEER_NAME — Рассматривайте это как результат cloud namespace, а не как общий сбой peer networking.
PNRP — Winsock namespace provider, разрешающий peer names в endpoint information внутри IPv6-based cloud. Выбор cloud, registration и endpoint enumeration — разные этапы.
Данные, которые нужно сохранить до повтора
- Зафиксируйте первую неудачную поверхность среди функций преобразования peer-name/peer-host-name из p2p.h.
- Сохраните исходный peer name, secured/unsecured form, classifier, Unicode normalization, обработку output buffer и результат conversion API.
- Поместите успешное создание/discovery, события изменения состояния и неудачный вызов на одну timeline.
- Сохраняйте peer name, identity, идентификаторы записей, данные приглашений и endpoint в исходном представлении Unicode или в двоичном виде.
Контролируемая изоляция
преобразуйте peer name, возвращённый Identity Manager, и сравните с вручную переданным значением. Меняйте только одну переменную; одновременные изменения identity, cloud, database и firewall state уничтожают причинную привязку.
| Контрольная точка | Вопрос для PEER_E_CANNOT_CONVERT_PEER_NAME |
|---|---|
| До API | Было ли требуемое encoding peer name получено в этом процессе и user context? |
| На HRESULT | Сохраните исходный peer name, secured/unsecured form, classifier, Unicode normalization, обработку output buffer и результат conversion API. |
| После исправления | используйте peer names, созданные API, и сохраняйте точную encoded host form; не передавайте display name или обычный DNS label как peer name. |
Соседний результат
PEER_E_INVALID_PEER_HOST_NAME отличается тем, что ошибка преобразования начинается с peer name, а ошибка имени узла — с уже совместимого с DNS закодированного представления. Сохраняйте оба HRESULT в хронологическом порядке: исправление предпосылки может открыть следующий этап validation.
Безопасная реакция
используйте peer names, созданные API, и сохраняйте точную encoded host form; не передавайте display name или обычный DNS label как peer name. Перед изменениями сохраняйте durable graph databases, group exports, identity certificates и invitation artifacts.
Инструментирование и регрессионное покрытие
Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее доказательство: исходный peer name, secured/unsecured form, classifier, Unicode normalization, обработка output buffer и результат conversion API.
| Регрессионный уровень | Проверяемый случай | Условие прохождения |
|---|---|---|
| Входные данные и время жизни объекта | Создайте минимальный объект, достигающий сбоя преобразования peer name в DNS-совместимое PNRP host-name representation. | Тест записывает owning handle, user context и точный API из функций peer-name/peer-host-name conversion в p2p.h. |
| Контролируемое сравнение | преобразуйте peer name, возвращённый Identity Manager, и сравните с вручную переданным значением. | Между неуспешным и успешным запуском изменяется только целевое encoding peer name. |
| Путь восстановления | используйте peer names, созданные API, и сохраняйте точную encoded host form; не передавайте display name или обычный DNS label как peer name. | Нужная операция завершается успешно без замены несвязанной endpoint registration. |
Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить состояние пространства имён cloud от последующего сбоя транспорта, авторизации или приложения.
Ссылки
- Microsoft: обзор PNRP — источник документирует соответствующую peer boundary.
- Microsoft Open Specifications: PNRP Version 4.0 — источник документирует соответствующую peer boundary.
- Microsoft: peer names — источник документирует соответствующую peer boundary.
- Microsoft: регистрация peer name — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.