| Previous | Next |
| CAT_E_CATIDNOEXIST | CS_E_PACKAGE_NOTFOUND |
CAT_E_NODESCRIPTION
Description not found
When Windows returns CAT_E_NODESCRIPTION—HRESULT 2147746145, 0x80040161, signed -2147221151—AllStat describes the condition as “Description not found”. The actionable meaning is a registered component category has no description for the requested locale or usable fallback. The surrounding operation is retrieving CATEGORYINFO text while enumerating or displaying component categories.
The high bit in 0x80040161 is set, so this is a failure rather than a success or informational result. Its facility field is 4 (FACILITY_ITF) and its low 16-bit code is 353 (0x0161). Those bit fields classify the value, but they do not identify the failing object by themselves; the native method, object identity, and first producer of CAT_E_NODESCRIPTION remain essential.
Precise failure point
Understanding CAT_E_NODESCRIPTION requires this subsystem context: Component categories are semantic identifiers, not merely friendly strings. For CAT_E_NODESCRIPTION, category definition, localized description, and class membership are separate records and should be diagnosed independently.
- Associate
CAT_E_NODESCRIPTIONwith one exact operation in the Component Categories Manager, ICatRegister, ICatInformation, CATID registration, and localized CATEGORYINFO descriptions. - Confirm that
CAT_E_NODESCRIPTIONcame from retrieving CATEGORYINFO text while enumerating or displaying component categories, rather than from cleanup or a wrapper that ran afterward. - Preserve any IErrorInfo, underlying Win32 result, provider message, or callback failure that preceded
CAT_E_NODESCRIPTION; the HRESULT alone should not erase a more specific cause.
Diagnostic evidence
A useful CAT_E_NODESCRIPTION incident records the CATID, locale identifier, operation, registry scope, category description, enumerator result, class membership keys, and installation or uninstallation transaction. For CAT_E_NODESCRIPTION, also retain the application and component build, architecture, process and thread IDs, COM apartment, operation correlation ID, elapsed time, and the first state-changing event before the failure. When logging CAT_E_NODESCRIPTION, redact content and credentials while preserving types, lengths, hashes, opaque identities, and lifecycle generations needed to reproduce its contract.
- For
CAT_E_NODESCRIPTION, capture CATID, requested LCID, installed descriptions, and UI language chain. - For
CAT_E_NODESCRIPTION, verify that category identity and class membership remain valid without the label. - For
CAT_E_NODESCRIPTION, test neutral or product-default locale fallback according to application policy.
Resolution path
- Capture
CAT_E_NODESCRIPTIONat the first native return before a wrapper maps it to a generic exception. - Identify the exact object, method, and lifecycle phase involved in retrieving CATEGORYINFO text while enumerating or displaying component categories.
- Capture CATID, requested LCID, installed descriptions, and UI language chain.
- Verify that category identity and class membership remain valid without the label.
- Test neutral or product-default locale fallback according to application policy.
- Reproduce
CAT_E_NODESCRIPTIONwith one controlled input or state change, and verify that the correction changes the decisive evidence rather than merely hiding the result.
Distinct causes
CAT_E_NODESCRIPTIONcan result when the category was registered without the current LCID.CAT_E_NODESCRIPTIONcan result when localization resources were omitted from installation.CAT_E_NODESCRIPTIONcan result when the caller requests an overly specific locale and does not implement an appropriate fallback.
Retry policy
Correction. For CAT_E_NODESCRIPTION, show a stable CATID-based fallback or install the missing localized description while preserving category identity. Retry boundary. Retry after locale fallback or registration repair; do not treat a missing label as proof that member classes are unusable. Before repeating the CAT_E_NODESCRIPTION operation, separate category definition changes from class-membership changes and roll back only the registration operation that failed.
Practical scenario
A management console requests a Finnish category description from a component that registered only en-US; it displays the en-US label and CATID instead of hiding the plugins. This isolates CAT_E_NODESCRIPTION within COM component categories and provides a regression test for the stated correction.
Difference from related HRESULTs
CAT_E_CATIDNOEXIST means no category definition exists; CAT_E_NODESCRIPTION is a localization/metadata gap for an existing CATID. For CAT_E_NODESCRIPTION, keep those outcomes separate in exception mappings, telemetry dimensions, user messages, and automated retry policy.
Developer and administrator guidance
For CAT_E_NODESCRIPTION, store CATIDs as stable identifiers, keep localized descriptions independent from membership, and enumerate current records before updating them. Regression coverage for CAT_E_NODESCRIPTION should include unknown CATIDs, missing localized descriptions, repeated registration, class membership without a definition, different locales, and uninstall ordering.
Operational repair for CAT_E_NODESCRIPTION must target the evidence-backed owner: repair category metadata through the owning component’s installer and verify both category definitions and class membership instead of editing only the friendly description. Retain before-and-after traces for CAT_E_NODESCRIPTION so the change can be attributed and reversed.
References
- Microsoft: generic COM error codes — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION. - Microsoft: HRESULT values — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION. - Microsoft: component categories — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION. - Microsoft: ICatRegister — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION. - Microsoft: ICatInformation::EnumCategories — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION. - Microsoft: CATEGORYINFO structure — official Microsoft documentation relevant to
CAT_E_NODESCRIPTION.
Looking for a different code? Search another status or error code.