Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IsNormalizedString function

Verifies that a string is normalized according to Unicode 4.0 TR#15. For more information, see Using Unicode Normalization to Represent Strings.


BOOL IsNormalizedString(
  _In_ NORM_FORM NormForm,
  _In_ LPCWSTR   lpString,
  _In_ int       cwLength


NormForm [in]

Normalization form to use. NORM_FORM specifies the standard Unicode normalization forms.

lpString [in]

Pointer to the string to test.

cwLength [in]

Length, in characters, of the input string, including a null terminating character. If this value is -1, the function assumes the string to be null-terminated and calculates the length automatically.

Return value

Returns TRUE if the input string is already normalized to the appropriate form, or FALSE otherwise. To get extended error information, the application can call GetLastError, which can return one of the following error codes:

  • ERROR_INVALID_PARAMETER. Any of the parameter values was invalid.
  • ERROR_NO_UNICODE_TRANSLATION. Invalid Unicode was found in string.
  • ERROR_SUCCESS. The action completed successfully but yielded no results.

If you need to reliably determine FALSE from an error condition, then it must call SetLastError(ERROR_SUCCESS).


Windows XP, Windows Server 2003: The required header file and DLL are part of the "Microsoft Internationalized Domain Name (IDN) Mitigation APIs" download, available at the MSDN Download Center.


An example showing the use of this function can be found in NLS: Unicode Normalization Sample.


Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]


Microsoft Internationalized Domain Name (IDN) Mitigation APIs onWindows XP with SP2 and later, orWindows Server 2003 with SP1


Winnls.h (include Windows.h)



See also

National Language Support
National Language Support Functions
Using Unicode Normalization to Represent Strings



© 2017 Microsoft