Site icon EfmSoft

Что означает код 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.

Подтверждение исправления

Инструментирование и регрессионное покрытие

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют путь к базе, владелец файла и ACL, токен процесса, перенаправление профиля, блокировки антивирусом/резервным копированием и запрошенная операция открытия/импорта.

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

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

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


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

Exit mobile version