| Предыдущий | Следующий |
| NAP_E_STILL_BOUND | NAP_E_NOT_INITIALIZED |
NAP_E_NOT_REGISTERED
Сущность NAP не зарегистрирована
NAP_E_NOT_REGISTERED — это HRESULT 0x80270006 (знаковое десятичное значение -2144927738, беззнаковое десятичное значение 2150039558). AllStat на основании winerror.h описывает его так: «Сущность не зарегистрирована в системе NAP». Значение обозначает ошибку, имеет код средства 0x27 и поле кода 0x0006.
Для случая обращения к незарегистрированному компоненту этот HRESULT относится к устаревшей технологии Network Access Protection: NAP недоступна начиная с Windows 10, а современные выпуски Windows Server не содержат прежних ролей NAP, HRA и HCAP. Поэтому его следует учитывать при восстановлении регистрации и привязки конкретного компонента на поддерживаемых устаревших системах, в архивной телеметрии, компонентах совместимости или проектах миграции, не ожидая наличия прежней платформы на современном компьютере.
Постоянная регистрация отсутствует
NAP_E_NOT_REGISTERED означает, что компонент пытается вступить во взаимодействие времени выполнения до появления его идентичности в регистрационных данных NAP. Microsoft документирует возврат этого кода из INapSystemHealthAgentBinding::Initialize, если SHA не был зарегистрирован ранее. Точный API регистрации зависит от того, является вызывающая сторона SHA, SHV или клиентом применения требований, поэтому место вызова необходимо сохранить.
Пробелы регистрации
- Двоичный файл компонента развёрнут, но операция Register при установке не выполнялась или завершилась ошибкой из-за недостаточных прав.
- Удаление или восстановление продукта убрало регистрацию, хотя служба или запланированная задача продолжает запускать компонент.
- Во время выполнения используется SystemHealthEntityId, отличный от значения, сохранённого при установке.
- Образ был обобщён или восстановлен без относящегося к компьютеру состояния регистрации NAP.
- Пути 32- и 64-разрядного развёртывания зарегистрировали разные метаданные компонента, а активный двоичный файл обращается не к той записи.
Проверки регистрации
- Зафиксируйте числовой идентификатор сущности и точный метод Initialize или привязки, завершившийся ошибкой.
- Запросите через управление NAP список зарегистрированных компонентов и сравните поставщика, версию, CLSID и категорию.
- Проверьте журналы установщика и контекст безопасности последней операции регистрации, восстановления, обновления или отмены регистрации.
- Убедитесь, что запущенный двоичный файл и запись регистрации относятся к одной версии продукта и одному корню установки.
Процедура исправления
- Остановите работающий компонент, чтобы регистрация не изменялась под активными обратными вызовами.
- Выполните поддерживаемую процедуру регистрации с предполагаемым стабильным идентификатором сущности и полным набором метаданных.
- Считайте регистрацию обратно и проверьте владельца до повторного вызова Initialize.
- После привязки выполните реальный обмен SoH: одна успешная регистрация не доказывает корректность обратных вызовов или настройки политики.
Отличие от соседних результатов NAP
NAP_E_NOT_INITIALIZED означает, что зарегистрированный компонент не завершил вызов Initialize времени выполнения. NAP_E_ID_NOT_FOUND может возникнуть при административном поиске или удалении неизвестного идентификатора и сам по себе не доказывает, что текущий компонент пропустил обязательный этап установки. NAP_E_CONFLICTING_ID означает, что запрошенный идентификатор уже занят другой регистрацией.
Повтор и восстановление
Регистрация обычно является административным действием или частью установки, а не операцией, которую следует автоматически выполнять при каждом сбое времени выполнения. Один раз исправьте постоянное состояние, затем выполните инициализацию. Автоматическая регистрация при каждой ошибке может отобрать идентификатор у другого компонента или скрыть неполное развёртывание.
Практический сценарий
Клонированный устаревший образ содержит исполняемый файл SHA и запись службы, но не его регистрацию NAP. Служба вызывает INapSystemHealthAgentBinding::Initialize и получает NAP_E_NOT_REGISTERED. Повторный запуск этапа регистрации продукта с ожидаемым SystemHealthEntityId восстанавливает путь привязки.
Ссылки
- Microsoft: константы ошибок NAP
- Microsoft: Initialize привязки SHA
- Microsoft: настройка SHA
- Microsoft: интерфейсы NAP
Нужно найти другой код? Найти другой код состояния или ошибки.
