| Предыдущий | Следующий |
| 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. Такая запись позволяет регрессионному тесту отличить этот контракт записи от последующего сбоя транспорта, авторизации или приложения.
Технические ссылки
- Microsoft: схема атрибутов записи — источник документирует соответствующую peer boundary.
- Microsoft: формат поискового запроса по записям — источник документирует соответствующую peer boundary.
- Microsoft: зависимости записей — источник документирует соответствующую peer boundary.
- Microsoft: функции Grouping API — источник документирует соответствующую peer boundary.
Нужно найти другой код? Найти другой код состояния или ошибки.