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