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.

GetUserDefaultLocaleName function

Retrieves the user default locale name.

Note  The application should call this function in preference to GetUserDefaultLCID if designed to run only on Windows Vista and later.


int GetUserDefaultLocaleName(
  _Out_ LPWSTR lpLocaleName,
  _In_  int    cchLocaleName


lpLocaleName [out]

Pointer to a buffer in which this function retrieves the locale name.

cchLocaleName [in]

Size, in characters, of the buffer indicated by lpLocaleName. The maximum possible length of a locale name, including a terminating null character, is LOCALE_NAME_MAX_LENGTH. This is the recommended size to supply in this parameter.

Return value

Returns the size of the buffer containing the locale name, including the terminating null character, if successful.

Note  On single-user systems, the return value is the same as that returned by GetSystemDefaultLocaleName.

The function returns 0 if it does not succeed. To get extended error information, the application can call GetLastError, which can return one of the following error codes:

  • ERROR_INSUFFICIENT_BUFFER. A supplied buffer size was not large enough, or it was incorrectly set to NULL.


This function can retrieve data from custom locales. Data is not guaranteed to be the same from computer to computer or between runs of an application. If your application must persist or transmit data, see Using Persistent Locale Data.


Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]

Minimum supported phone

Windows Phone 8


Winnls.h (include Windows.h)





See also

National Language Support
National Language Support Functions



© 2017 Microsoft