Что означает код HRESULT 0x80630003 (PEER_E_CANNOT_START_SERVICE)?

 
Предыдущий Следующий
PEER_E_NOT_INITIALIZED PEER_E_NOT_LICENSED

PEER_E_CANNOT_START_SERVICE

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

PEER_E_CANNOT_START_SERVICE — HRESULT 0x80630003 означает, что peer-компоненту потребовалась Windows service или hosted peer component, но эту зависимость не удалось запустить. PEER_E_CANNOT_START_SERVICE — Базовое описание называет исход; диагностика требует data contract и lifecycle, принимаемых PeerGraphStartup, PeerGroupStartup, PeerCollabStartup и диагностикой Service Control Manager.

Windows Peer Infrastructure состоит из API Graphing, Grouping, Identity Manager, PNRP и Collaboration. Инициализация и platform prerequisites должны быть установлены до интерпретации object-specific calls.

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

ЭлементДоказательство
Исходные данныеСохраните события Service Control Manager, конфигурацию service, dependency chain, logon context, elevation state процесса, startup type и нижележащую Win32 service error.
Контекст-владелецЗапишите Windows user, process integrity, graph/group handle, database path и выбранный cloud.
Предыдущий успехСохраните последний успешный результат create/open/enumerate/parse/register/sign-in, создавший объект.
Порядок результатовСохраняйте первый HRESULT, чтобы cleanup failures не заменили код, отклонивший запрос.

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

запустите соответствующую peer feature через документированный API в чистом user session и сравните service transition с прямой попыткой запуска службы. Используйте disposable identities/groups, если тест публикует names, создаёт credentials или изменяет replicated database.

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

PEER_E_SERVICE_NOT_AVAILABLE отличается тем, что сбой запуска службы возникает при старте инфраструктуры, тогда как service-not-available может также означать неподдерживаемый контекст выполнения Peer Collaboration. Диагностический отчёт должен сохранять symbolic constant и unsigned hexadecimal value.

Рекомендуемое изменение

восстановите отключённый, отсутствующий или неисправный peer component и его dependencies; не скрывайте сбой многократным пересозданием graph/group databases. Не удаляйте все peer databases, certificate store или firewall rules: широкие сбросы стирают доказательства и не подтверждают исправление caller contract.

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

  • Исходный input теперь проходит точную проверку, представленную этим HRESULT.
  • Операция достигает требуемого результата для графа, группы, записи, PNRP или Peer Collaboration.
  • Несвязанные identity material, membership credentials и replicated records остаются неизменными.

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

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее доказательство: события Service Control Manager, service configuration, dependency chain, logon context, process elevation state, startup type и нижележащая Win32 service error.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаСоздайте минимальный объект, достигающий состояния, где peer-компоненту требуется Windows service/hosted component, но зависимость не запускается.Тест записывает owning handle, user context и точный API из PeerGraphStartup, PeerGroupStartup, PeerCollabStartup и диагностики Service Control Manager.
Контролируемое сравнениезапустите соответствующую peer feature через документированный API в чистом user session и сравните service transition с прямой попыткой запуска службы.Между неуспешным и успешным запуском изменяется только целевая startup boundary.
Путь восстановлениявосстановите отключённый, отсутствующий или неисправный peer component и его dependencies; не скрывайте сбой многократным пересозданием graph/group databases.Нужная операция завершается успешно без замены несвязанной component availability.

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

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


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