errnfo: decode first, hunt less

When logs only give you raw hex, errnfo turns numbers into structured meaning and relevant message text fast.

Date: February 01, 2026

Quick Value

_test\errnfo.exe hr 0x80070005
HRESULT
  value: 0x80070005
  facility: 0x007 (7) FACILITY_WIN32
  code: 0x0005 (5)
  message: Access is denied.  [(system)]

This is exactly the triage speed you want in incident response and build-failure debugging.

Workflow 1: Build Your Message-Table Arsenal

Scan known system locations once, keep the module list for future decode sessions.

_test\errnfo.exe scan C:\Windows\System32 | Select-Object -First 8
-m "C:\Windows\System32\aadcloudap.dll"
-m "C:\Windows\System32\aadtb.dll"
-m "C:\Windows\System32\aadWamExtension.dll"
-m "C:\Windows\System32\accountaccessor.dll"

Now you have copy-pasteable module flags to improve coverage when system messages are missing.

Workflow 2: Inspect One Module Deeply

_test\errnfo.exe dump wininet.dll --tables
table #1  lang 0x0409  blocks 36

Use dump when you suspect the text exists, but you need to prove where it lives and which language table has it.

Guardrails

errnfo is an error intelligence tool, not a root-cause engine. It gives you high-quality semantic context; your call stack and environment still decide the true fix.