ReactOS 0.4.16-dev-1541-g7e1d9ef
EnumSystemLocalesEx.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Win32 Base API
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Implementation of GetLocaleInfoEx (taken from wine-locale.c)
5 * COPYRIGHT: Copyright 1995 Martin von Loewis
6 * Copyright 1998 David Lee Lambert
7 * Copyright 2000 Julio César Gázquez
8 * Copyright 2002 Alexandre Julliard for CodeWeavers
9 */
10
11#include "k32_vista.h"
12#include <winuser.h>
13
15{
19};
20
23{
25 WCHAR buffer[256];
26 DWORD neutral;
27 unsigned int flags;
28
30 buffer, sizeof(buffer) / sizeof(WCHAR) );
32 LOCALE_INEUTRAL | LOCALE_NOUSEROVERRIDE | LOCALE_RETURN_NUMBER,
33 (LPWSTR)&neutral, sizeof(neutral) / sizeof(WCHAR) ))
34 neutral = 0;
37 if (data->flags && !(data->flags & flags)) return TRUE;
38 return data->proc( buffer, flags, data->lparam );
39}
40
41/******************************************************************************
42 * EnumSystemLocalesEx (KERNEL32.@)
43 */
45{
48
49 if (reserved)
50 {
52 return FALSE;
53 }
54 data.proc = proc;
55 data.flags = flags;
56 data.lparam = lparam;
60 return TRUE;
61}
static BOOL CALLBACK enum_locale_ex_proc(HMODULE module, LPCWSTR type, LPCWSTR name, WORD lang, LONG_PTR lparam)
BOOL WINAPI EnumSystemLocalesEx(LOCALE_ENUMPROCEX proc, DWORD flags, LPARAM lparam, LPVOID reserved)
@ lparam
Definition: SystemMenu.c:31
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define SetLastError(x)
Definition: compat.h:752
#define CALLBACK
Definition: compat.h:35
HMODULE kernel32_handle
Definition: dllmain.c:26
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
BOOL WINAPI EnumResourceLanguagesW(HMODULE hmod, LPCWSTR type, LPCWSTR name, ENUMRESLANGPROCW lpfun, LONG_PTR lparam)
Definition: res.c:480
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
Definition: locale.c:1675
#define L(x)
Definition: resources.c:13
r reserved
Definition: btrfs.c:3006
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint buffer
Definition: glext.h:5915
GLbitfield flags
Definition: glext.h:7161
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define SORT_DEFAULT
#define MAKELCID(lgid, srtid)
#define MAKEINTRESOURCE(i)
Definition: ntverrsrc.c:25
static HANDLE proc()
Definition: pdb.c:34
#define RT_STRING
Definition: pedump.c:368
LOCALE_ENUMPROCEX proc
Definition: name.c:39
static const WCHAR lang[]
Definition: wbemdisp.c:287
LONG_PTR LPARAM
Definition: windef.h:208
#define WINAPI
Definition: msvc.h:6
BOOL(CALLBACK * LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM)
Definition: winnls.h:559
#define LOCALE_NEUTRALDATA
Definition: winnls.h:228
#define LOCALE_SNAME
Definition: winnls.h:137
#define LOCALE_SPECIFICDATA
Definition: winnls.h:229
#define LOCALE_INEUTRAL
Definition: winnls.h:163
#define LOCALE_NOUSEROVERRIDE
Definition: winnls.h:19
#define LOCALE_WINDOWS
Definition: winnls.h:224
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185