Что означает код HRESULT 0x80270006 (NAP_E_NOT_REGISTERED)?

 
Предыдущий Следующий
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 восстанавливает путь привязки.

Ссылки


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