|  | /* | 
|  | * Copyright 2013 Google Inc. | 
|  | * | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  | #include <windows.h> | 
|  | #include <stdio.h> | 
|  |  | 
|  | #define BUFFER_SIZE 512 | 
|  | BOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) { | 
|  | WCHAR wcBuffer[BUFFER_SIZE]; | 
|  | int bufferSize; | 
|  |  | 
|  | bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE); | 
|  | if (bufferSize == 0) { | 
|  | wprintf(L"Locale %s had error %d\n", pStr, GetLastError()); | 
|  | return (TRUE); | 
|  | } | 
|  |  | 
|  | LCID lcid = LocaleNameToLCID(pStr, nullptr); | 
|  | if (lcid == 0) { | 
|  | wprintf(L"Error %d getting LCID\n", GetLastError()); | 
|  | return (TRUE); | 
|  | } | 
|  |  | 
|  | if (lcid > 0x8000) { | 
|  | wprintf(L"//"); | 
|  | } | 
|  | wprintf(L"    { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer); | 
|  |  | 
|  | return (TRUE); | 
|  | } | 
|  |  | 
|  | int main(int argc, wchar_t* argv[]) { | 
|  | EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, nullptr, nullptr); | 
|  | } |