| Предыдущий | Следующий |
| PEER_E_NO_MORE | PEER_E_CONTACT_NOT_FOUND |
PEER_E_PNRP_DUPLICATE_PEER_NAME
Точная граница результата
Практический смысл PEER_E_PNRP_DUPLICATE_PEER_NAME (0X80634005): одно и то же peer name повторно регистрируется в том же PNRP scope. В трассировке отделяйте маркер «pnrp duplicate peer name» от последующих wrapper/UI ошибок: они могут появиться уже после первичной границы и не объясняют исходное состояние.
Что сохранить
До повторной попытки запишите Peer API, graph/group/identity handle и текущее lifecycle-состояние. Для условия «одно и то же peer name повторно регистрируется в том же PNRP scope» эти данные важнее общего текста сообщения, потому что позволяют связать результат с конкретным владельцем операции.
- peer API, graph/group/identity handle и operation generation.
- конкретный ID/name/role, участвующий в операции.
- первый HRESULT и предшествующий успешный переход состояния.
| Наблюдение | Что оно означает |
|---|---|
| Первый вызов возвращает PEER_E_PNRP_DUPLICATE_PEER_NAME | Граница «одно и то же peer name повторно регистрируется в том же PNRP scope» относится к текущему объекту и generation; сохраните это состояние до cleanup. |
| После одного целевого изменения код исчезает | Связь с условием «одно и то же peer name повторно регистрируется в том же PNRP scope» подтверждается только если остальные входы и owning context не изменились. |
| Первым становится другой HRESULT | Считайте его новой первичной границей; маркер «pnrp duplicate peer name» больше не должен подменять причину следующего отказа. |
Сравнение двух запусков
Контрольный запуск должен воспроизводить «одно и то же peer name повторно регистрируется в том же PNRP scope» на тех же исходных данных. Затем устраните только повторное создание/определение либо используйте уже существующий объект, если операция идемпотентна. Если операция проходит прежнюю стадию, гипотеза локализована; если нет — вернитесь к первому HRESULT и сохранённым полям.
- Зафиксируйте первый
PEER_E_PNRP_DUPLICATE_PEER_NAMEи объект, которому принадлежит маркер «pnrp duplicate peer name». - Сохраните входные данные и lifecycle-state до изменения условия «одно и то же peer name повторно регистрируется в том же PNRP scope».
- Измените только состояние, связанное с «одно и то же peer name повторно регистрируется в том же PNRP scope», и выполните тот же вызов ещё раз.
После исправления
Не удаляйте всю peer-базу, identities или firewall rules до фиксации конкретного graph/group/record state. Исправление считается реальным, когда прежняя граница «одно и то же peer name повторно регистрируется в том же PNRP scope» пройдена на сопоставимом входе, а не просто скрыта более общим сообщением.
Документация
- Microsoft: About PNRP.
- Microsoft Open Specifications: PNRP Version 4.0.
- Microsoft: Peer names.
- Microsoft: Registering a peer name.
Нужно найти другой код? Найти другой код состояния или ошибки.
