Contains version information about an NLS capability.

typedef struct _nlsversioninfoex { 
  DWORD  dwNLSVersionInfoSize; 
  DWORD  dwNLSVersion; 
  DWORD  dwDefinedVersion; 
  DWORD  dwEffectiveId;   
  GUID  guidCustomVersion; 


  • dwNLSVersionInfoSize
    Size, in bytes, of the structure.
  • dwNLSVersion
    Version. This value is used to track changes and additions to the set of code points that have the indicated capability for a particular locale. The value is locale-specific, and increments when the capability changes. For example, for the COMPARE_STRING capability, the version changes if sorting weights are assigned to code points that previously had no weights defined for the locale.
  • dwDefinedVersion
    Defined version. This value is used to track changes in the repertoire of Unicode code points. The value increments when the Unicode repertoire is extended, for example, if more characters are defined.
  • dwEffectiveId
    Identifier of the sort order used for the input locale for the represented version. For example, for a custom locale en-Mine that uses 0409 for a sort order identifier, this member contains "0409". If this member specifies a "real" sort, guidCustomVersion is set to an empty GUID.
  • guidCustomVersion
    Unique GUID for the behavior of a custom sort used by the locale for the represented version.


The dwNLSVersion and dwDefinedVersion members are completely independent. Although each member is defined for a single DWORD, actually each is composed of a major version and a minor version. See Working with Collation Versioning for more information.


**  Windows NT/2000/XP/Vista:** Included in Windows Server 2003, Windows Vista and later.
**  Windows 95/98/Me:** Unsupported.
**  Header:** Declared in Winnls.h; include Windows.h.

See Also

National Language Support Structures, Working with Collation Versioning, GetNLSVersionEx, IsNLSDefinedString