| Previous | Next |
| STATUS_SYMLINK_CLASS_DISABLED | STATUS_NO_UNICODE_TRANSLATION |
STATUS_INVALID_IDN_NORMALIZATION
IDN processing is label validation and mapping, not generic Unicode normalization alone
STATUS_INVALID_IDN_NORMALIZATION belongs to internationalized domain-name processing. Windows provides IDN conversion functions such as IdnToAscii and IdnToUnicode. IDN processing applies domain-label rules in addition to Unicode representation concerns, so a string that is valid UTF-16 can still be invalid as an IDN.
Unicode UTS #46 describes mapping followed by conversion and validation, including checks for disallowed characters after mapping and normalization. This is different from merely calling NormalizeString with NFC or NFKC. Generic Unicode normalization can reduce canonically equivalent representations, but it does not by itself prove that a domain label satisfies IDNA processing rules.
Preserve the original Unicode domain and split it into labels before debugging. Record the failing label, conversion direction, IDN flags, and mapped form. Avoid applying ad hoc lowercasing, character deletion, or punctuation replacement before the IDN API; those transformations can convert an invalid name into a different valid name and create security or lookup surprises.
What to inspect
- The original Unicode domain, individual label boundaries, and the exact label rejected by IDN processing.
- Conversion function and flags, plus the mapped/normalized form immediately before validation failed.
- Any pre-processing that changes case, separators, compatibility characters, or removes disallowed code points.
References
- Microsoft: Internationalized Domain Name conversion sample
- Unicode UTS #46: Unicode IDNA Compatibility Processing
- Microsoft: Using Unicode Normalization to Represent Strings
- Microsoft Open Specifications: NTSTATUS values
Looking for a different code? Search another status or error code.