What does HRESULT 0x80270003 (NAP_E_CONFLICTING_ID) mean?

 
Previous Next
NAP_E_MISSING_SOH NAP_E_NO_CACHED_SOH

NAP_E_CONFLICTING_ID

The NAP entity identifier conflicts with an existing registration

NAP_E_CONFLICTING_ID is HRESULT 0x80270003 (signed decimal -2144927741, unsigned decimal 2150039555). AllStat, using winerror.h, describes it as “The entity ID conflicts with an already registered id.” The value has failure severity, facility 0x27, and code field 0x0003.

This is a legacy Network Access Protection result: Microsoft states that NAP is unavailable starting with Windows 10 and that current Windows Server releases do not include the former NAP, HRA, and HCAP roles; use the code for supported legacy systems, archived telemetry, compatibility components, or migrations rather than assuming a modern machine should expose the old platform.

Registration identity is the conflicting resource

NAP components are registered under numeric identifiers, and those identifiers are part of the protocol rather than display-only metadata. Microsoft lists this HRESULT for INapClientManagement::RegisterEnforcementClient when another enforcement agent already uses the supplied ID. The generic constant says “entity ID,” so for other call sites the exact component kind must be taken from the registration method and its NapComponentRegistrationInfo structure.

Common sources of ID collision

  • A second installation of the same enforcement client tries to register without detecting the existing registration.
  • Two vendors or internal products independently selected the same hard-coded EnforcementEntityId or SystemHealthEntityId.
  • An upgrade changed the component CLSID or file location but reused an ID whose old registration was never removed.
  • Deployment rollback restored binaries without restoring the registration database to the matching version.
  • Test and production components share a machine and were built with an identical sample identifier.

Identity evidence

  • Capture the requested numeric ID, component category, friendly name, vendor, version, CLSID, and registration API.
  • Query the existing NAP registration and compare ownership information instead of assuming that a matching friendly name means the same component.
  • Record installer product/version and whether the operation is install, repair, upgrade, rollback, or uninstall.
  • Preserve security context and machine scope because registration state may differ between an offline image, target system, and test host.

Resolving the collision safely

  • Identify the currently registered owner of the ID and verify its files and product registration are still valid.
  • If this is an idempotent reinstall of the same component, compare every identity field before deciding no change is necessary.
  • If the owner is stale, unbind and unregister it through the supported management API rather than deleting arbitrary registry values.
  • Assign a genuinely unique documented ID when two active components must coexist; do not generate a new value on every start.

Difference from nearby NAP results

NAP_E_ID_NOT_FOUND is the inverse lookup condition: a requested component ID has no matching record. NAP_E_ALREADY-style installer errors may concern package identity, while this code is specifically about the NAP entity identifier. NAP_E_STILL_BOUND can prevent removal of the old registration and must be cleared before the collision can be resolved.

Retry and recovery

Registration retry is appropriate only after the ID mapping changes or the caller proves that the existing record is the same intended component. Blind overwrite risks routing health or enforcement traffic to the wrong implementation. Installers should make the ownership decision explicit and log whether they reused, removed, or replaced the prior registration.

Practical scenario

A lab copies Microsoft’s sample enforcement client into two products without changing the sample entity ID. The first product registers successfully; the second receives NAP_E_CONFLICTING_ID. The correct fix is to allocate a distinct stable identifier, not to delete the first product’s registration.

References


Looking for a different code? Search another status or error code.