Что означает код HRESULT 0x80630302 (PEER_E_DATABASE_ACCESSDENIED)?

 
Предыдущий Следующий
PEER_E_RECORD_NOT_FOUND PEER_E_DBINITIALIZATION_FAILED

PEER_E_DATABASE_ACCESSDENIED

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

PEER_E_DATABASE_ACCESSDENIED — HRESULT 0x80630302 означает, что процессу не хватает доступа к файловой системе или прав безопасности для открытия либо изменения локальной базы peer-графа/группы. PEER_E_DATABASE_ACCESSDENIED — Базовое описание сообщает результат; для диагностики нужен контракт данных и жизненный цикл, используемые PeerGraphOpen, PeerGroupOpen и файловым доступом при импорте/экспорте базы.

Peer-записи объединяют типизированную структуру записи, необязательные доступные для поиска XML-атрибуты, полезную нагрузку, метаданные создателя и срок действия. Локальная база может получать записи в порядке, отличающемся от зависимостей приложения.

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

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

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

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

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

PEER_E_NO_KEY_ACCESS отличается тем, что доступ к базе защищает реплицируемые записи, а доступ к ключу — материал закрытого ключа identity, нередко с другими ACL. Диагностический отчёт должен сохранять 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. Решающее значение имеют путь к базе, владелец файла и ACL, токен процесса, перенаправление профиля, блокировки антивирусом/резервным копированием и запрошенная операция открытия/импорта.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаПостройте минимальный сценарий, в котором процессу не хватает файлового или security-доступа для открытия либо изменения локальной базы peer-графа/группы.В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGraphOpen, PeerGroupOpen и файлового доступа при импорте/экспорте базы.
Контролируемое сравнениеоткройте ту же базу от имени пользователя-владельца с обычным уровнем integrity и сравните с копией базы, для которой ACL намеренно ограничен.Между неудачным и успешным запуском меняется только нужное локальное реплицируемое хранилище.
Путь восстановлениявосстановите минимально необходимые права для нужного пользователя и не используйте административные копии, меняющие владельца или расположение профиля.Нужная операция завершается успешно без замены несвязанных метаданных поиска и срока действия.

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

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


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