| Предыдущий | Следующий |
| PEER_E_PASSWORD_DOES_NOT_MEET_POLICY | PEER_E_INVALID_GROUP_PROPERTIES |
PEER_E_DEFERRED_VALIDATION
Какой peer contract отклонён
PEER_E_DEFERRED_VALIDATION — HRESULT 0x80632030 означает, что слой безопасности графа пока не может проверить запись, часто потому, что необходимые записи или данные доверия ещё не доступны в локальном порядке репликации. PEER_E_DEFERRED_VALIDATION — Базовое описание сообщает результат; для диагностики нужен контракт данных и жизненный цикл, используемые callback-функциями проверки записи, зависимостями записей и обработкой безопасности группы.
Peer-записи объединяют типизированную структуру записи, необязательные доступные для поиска XML-атрибуты, полезную нагрузку, метаданные создателя и срок действия. Локальная база может получать записи в порядке, отличающемся от зависимостей приложения.
Минимальный диагностический пакет
| Элемент | Доказательство |
|---|---|
| Исходные данные | Сохраните ID/тип записи, идентификаторы зависимостей, учётные данные создателя, порядок поступления, результат функции обратного вызова проверки, события синхронизации графа и интервалы повторной проверки. |
| Контекст-владелец | Запишите Windows user, process integrity, graph/group handle, database path и выбранный cloud. |
| Предыдущий успех | Сохраните последний успешный результат create/open/enumerate/parse/register/sign-in, создавший объект. |
| Порядок результатов | Сохраняйте первый HRESULT, чтобы cleanup failures не заменили код, отклонивший запрос. |
Целевое воспроизведение
держите запись в ограниченном наборе ожидающих и повторяйте проверку после появления связанной identity/учётной записи, а не отклоняйте её сразу. Используйте disposable identities/groups, если тест публикует names, создаёт credentials или изменяет replicated database.
Почему код сравнения отличается
PEER_E_INVITATION_NOT_TRUSTED отличается тем, что deferred validation означает временное отсутствие достаточных доказательств, а invitation-not-trusted — уже принятое отрицательное решение о доверии. Диагностический отчёт должен сохранять symbolic constant и unsigned hexadecimal value.
Рекомендуемое изменение
реализуйте отложенную обработку с учётом зависимостей, сроком ожидания и аудитом; не помечайте запись действительной до успешной проверки. Не удаляйте все peer databases, certificate store или firewall rules: широкие сбросы стирают доказательства и не подтверждают исправление caller contract.
Подтверждение исправления
- Исходный input теперь проходит точную проверку, представленную этим HRESULT.
- Операция достигает требуемого результата для графа, группы, записи, PNRP или Peer Collaboration.
- Несвязанные identity material, membership credentials и replicated records остаются неизменными.
Инструментирование и регрессионное покрытие
Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют ID/тип записи, идентификаторы зависимостей, учётные данные создателя, порядок поступления, результат функции обратного вызова проверки, события синхронизации графа и интервалы повторной проверки.
| Регрессионный уровень | Проверяемый случай | Условие прохождения |
|---|---|---|
| Входные данные и время жизни объекта | Постройте минимальный сценарий, в котором слой безопасности графа пока не может проверить запись из-за отсутствующих в локальном порядке репликации зависимых записей или данных доверия. | В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из callback-функций проверки записи, зависимостей записей и обработки безопасности группы. |
| Контролируемое сравнение | держите запись в ограниченном наборе ожидающих и повторяйте проверку после появления связанной identity/учётной записи, а не отклоняйте её сразу. | Между неудачным и успешным запуском меняется только нужное локальное реплицируемое хранилище. |
| Путь восстановления | реализуйте отложенную обработку с учётом зависимостей, сроком ожидания и аудитом; не помечайте запись действительной до успешной проверки. | Нужная операция завершается успешно без замены несвязанных метаданных поиска и срока действия. |
Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить этот контракт записи от последующего сбоя транспорта, авторизации или приложения.
Технические ссылки
- Microsoft: схема атрибутов записи — источник документирует соответствующую peer boundary.
- Microsoft: формат поискового запроса по записям — источник документирует соответствующую peer boundary.
- Microsoft: зависимости записей — источник документирует соответствующую peer boundary.
- Microsoft: функции Grouping API — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.
