| Previous | Next |
| NAP_E_SHV_CONFIG_EXISTED | NAP_E_SHV_TIMEOUT |
NAP_E_SHV_CONFIG_NOT_FOUND
The SHV configuration ID cannot be found
NAP_E_SHV_CONFIG_NOT_FOUND is HRESULT 0x80270012 (signed decimal -2144927726, unsigned decimal 2150039570). AllStat, using winerror.h, describes it as “SHV configuration is not found.” The value has failure severity, facility 0x27, and code field 0x0012.
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.
A per-policy configuration was addressed before creation or after deletion
Microsoft documents this result for INapComponentConfig3::GetConfigFromID and SetConfigToID. A nonzero configID must first be allocated through NewConfig; configuration ID zero is reserved for the SHV default. The failure therefore identifies missing per-ID state, not an absent SHV registration and not a malformed configuration blob.
Missing-config causes
- Management calls SetConfigToID immediately without a successful NewConfig for the assigned ID.
- DeleteConfig removed the entry while another administrator or UI session still edits it.
- NPS restored policy metadata whose corresponding SHV configuration store was not restored.
- The wrong SHV receives a configID that is only meaningful inside another validator’s namespace.
- A stale management cache references an ID that was replaced during policy migration.
What to compare
- Capture configID, SHV identity, method name, data length, and policy-management transaction.
- Verify whether the operation intended the default configuration; if so, configID zero has a special documented meaning.
- Correlate NewConfig and DeleteConfig history with the failing Get or Set request.
- Compare NPS’s known configuration IDs with those present in the SHV store.
Repairing the lifecycle
- Confirm that the request targets the correct SHV and policy object.
- If this is a new policy, call NewConfig and require success before opening UI or storing data.
- If the ID was deleted, cancel stale editors and obtain a newly assigned configuration instead of recreating old state casually.
- For restore drift, reconcile the complete NPS/SHV mapping before accepting policy traffic.
Difference from nearby NAP results
NAP_E_SHV_CONFIG_EXISTED says NewConfig found an entry that NPS did not expect. NAP_E_ID_NOT_FOUND refers broadly to a missing NAP component ID; this code is specifically a configuration ID within an SHV. Parsing or version errors in the configuration data require their own HRESULT and should not be inferred from absence.
Retry and recovery
A create-then-set retry is safe only when the management workflow is authorized to create a new configuration and no deletion race is active. A read of an intentionally deleted ID should remain a clean “not found” outcome. Do not substitute the default configuration silently, because that can change health policy semantics.
Practical scenario
An NPS management console opens an old policy tab after another administrator deletes that policy’s SHV configuration. Saving the tab calls SetConfigToID and returns NAP_E_SHV_CONFIG_NOT_FOUND. The console must refresh and close the stale editor rather than recreating the deleted policy invisibly.
References
- Microsoft: NAP error constants
- Microsoft: SetConfigToID
- Microsoft: GetConfigFromID
- Microsoft: NewConfig prerequisite
Looking for a different code? Search another status or error code.