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.

Syntax

BOOL IsNormalizedString(
  NORM_FORM NormForm,
  LPCWSTR   lpString,
  int       cwLength
);

Parameters

NormForm

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

lpString

Pointer to the string to test.

cwLength

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).

Remarks

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.

Examples

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

Requirements

   
Minimum supported client Windows Vista [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 [desktop apps | UWP apps]
Target Platform Windows
Header winnls.h (include Windows.h)
DLL Normaliz.dll
Redistributable Microsoft Internationalized Domain Name (IDN) Mitigation APIs onWindows XP with SP2 and later, orWindows Server 2003 with SP1

See also

NORM_FORM

National Language Support

National Language Support Functions

NormalizeString

Using Unicode Normalization to Represent Strings