1130 lines
48 KiB
C
1130 lines
48 KiB
C
|
/*
|
||
|
* winnls.h Win32 National Language Support (NLS) functions
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*
|
||
|
* Open Watcom Project
|
||
|
*
|
||
|
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
|
||
|
*
|
||
|
* This file is automatically generated. Do not edit directly.
|
||
|
*
|
||
|
* =========================================================================
|
||
|
*/
|
||
|
|
||
|
#ifndef _WINNLS_
|
||
|
#define _WINNLS_
|
||
|
|
||
|
#ifndef _ENABLE_AUTODEPEND
|
||
|
#pragma read_only_file;
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Macro to specify normalization functions */
|
||
|
#define WINNORMALIZEAPI DECLSPEC_IMPORT
|
||
|
|
||
|
/* NLS primitive data types */
|
||
|
typedef DWORD LGRPID;
|
||
|
typedef DWORD LCTYPE;
|
||
|
typedef DWORD CALTYPE;
|
||
|
typedef DWORD CALID;
|
||
|
typedef DWORD NLS_FUNCTION;
|
||
|
typedef LONG GEOID;
|
||
|
typedef DWORD GEOTYPE;
|
||
|
typedef DWORD GEOCLASS;
|
||
|
|
||
|
/* Maximum lengths */
|
||
|
#define MAX_LEADBYTES 12
|
||
|
#define MAX_DEFAULTCHAR 2
|
||
|
|
||
|
/* Surrogate pair lengths */
|
||
|
#define HIGH_SURROGATE_START 0xD800
|
||
|
#define HIGH_SURROGATE_END 0xDBFF
|
||
|
#define LOW_SURROGATE_START 0xDC00
|
||
|
#define LOW_SURROGATE_END 0xDFFF
|
||
|
|
||
|
/* MultiByteToWideChar() flags */
|
||
|
#define MB_PRECOMPOSED 0x00000001L
|
||
|
#define MB_COMPOSITE 0x00000002L
|
||
|
#define MB_USEGLYPHCHARS 0x00000004L
|
||
|
#define MB_ERR_INVALID_CHARS 0x00000008L
|
||
|
|
||
|
/* WideCharToMultiByte() flags */
|
||
|
#define WC_DISCARDNS 0x00000010L
|
||
|
#define WC_SEPCHARS 0x00000020L
|
||
|
#define WC_DEFAULTCHAR 0x00000040L
|
||
|
#define WC_COMPOSITECHECK 0x00000200L
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define WC_NO_BEST_FIT_CHARS 0x00000400L
|
||
|
#endif
|
||
|
|
||
|
/* Character information types */
|
||
|
#define CT_CTYPE1 0x00000001L
|
||
|
#define CT_CTYPE2 0x00000002L
|
||
|
#define CT_CTYPE3 0x00000004L
|
||
|
|
||
|
/* Character information flags used with CT_CTYPE1 */
|
||
|
#define C1_UPPER 0x0001
|
||
|
#define C1_LOWER 0x0002
|
||
|
#define C1_DIGIT 0x0004
|
||
|
#define C1_SPACE 0x0008
|
||
|
#define C1_PUNCT 0x0010
|
||
|
#define C1_CNTRL 0x0020
|
||
|
#define C1_BLANK 0x0040
|
||
|
#define C1_XDIGIT 0x0080
|
||
|
#define C1_ALPHA 0x0100
|
||
|
#define C1_DEFINED 0x0200
|
||
|
|
||
|
/* Character information flags used with CT_CTYPE2 */
|
||
|
#define C2_LEFTTORIGHT 0x0001
|
||
|
#define C2_RIGHTTOLEFT 0x0002
|
||
|
#define C2_EUROPENUMBER 0x0003
|
||
|
#define C2_EUROPESEPARATOR 0x0004
|
||
|
#define C2_EUROPETERMINATOR 0x0005
|
||
|
#define C2_ARABICNUMBER 0x0006
|
||
|
#define C2_COMMONSEPARATOR 0x0007
|
||
|
#define C2_BLOCKSEPARATOR 0x0008
|
||
|
#define C2_SEGMENTSEPARATOR 0x0009
|
||
|
#define C2_WHITESPACE 0x000A
|
||
|
#define C2_OTHERNEUTRAL 0x000B
|
||
|
#define C2_NOTAPPLICABLE 0x0000
|
||
|
|
||
|
/* Character information flags used with CT_CTYPE3 */
|
||
|
#define C3_NONSPACING 0x0001
|
||
|
#define C3_DIACRITIC 0x0002
|
||
|
#define C3_VOWELMARK 0x0004
|
||
|
#define C3_SYMBOL 0x0008
|
||
|
#define C3_KATAKANA 0x0010
|
||
|
#define C3_HIRAGANA 0x0020
|
||
|
#define C3_HALFWIDTH 0x0040
|
||
|
#define C3_FULLWIDTH 0x0080
|
||
|
#define C3_IDEOGRAPH 0x0100
|
||
|
#define C3_KASHIDA 0x0200
|
||
|
#define C3_LEXICAL 0x0400
|
||
|
#define C3_HIGHSURROGATE 0x0800
|
||
|
#define C3_LOWSURROGATE 0x1000
|
||
|
#define C3_ALPHA 0x8000
|
||
|
#define C3_NOTAPPLICABLE 0x0000
|
||
|
|
||
|
/* CompareString() and LCMapString() flags */
|
||
|
#define NORM_IGNORECASE 0x00000001L
|
||
|
#define NORM_IGNORENONSPACE 0x00000002L
|
||
|
#define NORM_IGNORESYMBOLS 0x00000004L
|
||
|
#define LINGUISTIC_IGNORECASE 0x00000010L
|
||
|
#define LINGUISTIC_IGNOREDIACRITIC 0x00000020L
|
||
|
#define NORM_IGNOREKANATYPE 0x00010000L
|
||
|
#define NORM_IGNOREWIDTH 0x00020000L
|
||
|
#define NORM_LINGUISTIC_CASING 0x08000000L
|
||
|
|
||
|
/* FoldString() flags */
|
||
|
#define MAP_FOLDCZONE 0x00000010L
|
||
|
#define MAP_PRECOMPOSED 0x00000020L
|
||
|
#define MAP_COMPOSITE 0x00000040L
|
||
|
#define MAP_FOLDDIGITS 0x00000080L
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define MAP_EXPAND_LIGATURES 0x00002000L
|
||
|
#endif
|
||
|
|
||
|
/* LCMapString() flags */
|
||
|
#define LCMAP_LOWERCASE 0x00000100L
|
||
|
#define LCMAP_UPPERCASE 0x00000200L
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define LCMAP_TITLECASE 0x00000300L
|
||
|
#endif
|
||
|
#define LCMAP_SORTKEY 0x00000400L
|
||
|
#define LCMAP_BYTEREV 0x00000800L
|
||
|
#define LCMAP_HIRAGANA 0x00100000L
|
||
|
#define LCMAP_KATAKANA 0x00200000L
|
||
|
#define LCMAP_HALFWIDTH 0x00400000L
|
||
|
#define LCMAP_FULLWIDTH 0x00800000L
|
||
|
#define LCMAP_LINGUISTIC_CASING 0x01000000L
|
||
|
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000L
|
||
|
#define LCMAP_TRADITIONAL_CHINESE 0x04000000L
|
||
|
|
||
|
/* FindNLSString() flags */
|
||
|
#define FIND_STARTSWITH 0x00100000L
|
||
|
#define FIND_ENDSWITH 0x00200000L
|
||
|
#define FIND_FROMSTART 0x00400000L
|
||
|
#define FIND_FROMEND 0x00800000L
|
||
|
|
||
|
/* EnumSystemLocalesEx() flags */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define LOCALE_ALL 0x00000000L
|
||
|
#define LOCALE_WINDOWS 0x00000001L
|
||
|
#define LOCALE_SUPPLEMENTAL 0x00000002L
|
||
|
#define LOCALE_ALTERNATE_SORTS 0x00000004L
|
||
|
#define LOCALE_REPLACEMENT 0x00000008L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define LOCALE_NEUTRALDATA 0x00000010L
|
||
|
#define LOCALE_SPECIFICDATA 0x00000020L
|
||
|
#endif
|
||
|
|
||
|
/* EnumSystemLanguageGroups() flags */
|
||
|
#define LGRPID_INSTALLED 0x00000001L
|
||
|
#define LGRPID_SUPPORTED 0x00000002L
|
||
|
|
||
|
/* EnumSystemLocales() flags */
|
||
|
#define LCID_INSTALLED 0x00000001L
|
||
|
#define LCID_SUPPORTED 0x00000002L
|
||
|
#define LCID_ALTERNATE_SORTS 0x00000004L
|
||
|
|
||
|
/* EnumSystemCodePages() flags */
|
||
|
#define CP_INSTALLED 0x00000001L
|
||
|
#define CP_SUPPORTED 0x00000002L
|
||
|
|
||
|
/* CompareString() flags */
|
||
|
#define SORT_STRINGSORT 0x00001000L
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define SORT_DIGITSASNUMBERS 0x00000008L
|
||
|
#endif
|
||
|
|
||
|
/* CompareString() return values */
|
||
|
#define CSTR_LESS_THAN 1
|
||
|
#define CSTR_EQUAL 2
|
||
|
#define CSTR_GREATER_THAN 3
|
||
|
|
||
|
/* Code page identifiers */
|
||
|
#define CP_ACP 0
|
||
|
#define CP_OEMCP 1
|
||
|
#define CP_MACCP 2
|
||
|
#define CP_THREAD_ACP 3
|
||
|
#define CP_SYMBOL 42
|
||
|
#define CP_UTF7 65000
|
||
|
#define CP_UTF8 65001
|
||
|
|
||
|
/* Country codes */
|
||
|
#define CTRY_DEFAULT 0
|
||
|
#define CTRY_ALBANIA 355
|
||
|
#define CTRY_ALGERIA 213
|
||
|
#define CTRY_ARGENTINA 54
|
||
|
#define CTRY_ARMENIA 374
|
||
|
#define CTRY_AUSTRALIA 61
|
||
|
#define CTRY_AUSTRIA 43
|
||
|
#define CTRY_AZERBAIJAN 994
|
||
|
#define CTRY_BAHRAIN 973
|
||
|
#define CTRY_BELARUS 375
|
||
|
#define CTRY_BELGIUM 32
|
||
|
#define CTRY_BELIZE 501
|
||
|
#define CTRY_BOLIVIA 591
|
||
|
#define CTRY_BRAZIL 55
|
||
|
#define CTRY_BRUNEI_DARUSSALAM 673
|
||
|
#define CTRY_BULGARIA 359
|
||
|
#define CTRY_CANADA 2
|
||
|
#define CTRY_CARIBBEAN 1
|
||
|
#define CTRY_CHILE 56
|
||
|
#define CTRY_COLOMBIA 57
|
||
|
#define CTRY_COSTA_RICA 506
|
||
|
#define CTRY_CROATIA 385
|
||
|
#define CTRY_CZECH 420
|
||
|
#define CTRY_DENMARK 45
|
||
|
#define CTRY_DOMINICAN_REPUBLIC 1
|
||
|
#define CTRY_ECUADOR 593
|
||
|
#define CTRY_EGYPT 20
|
||
|
#define CTRY_EL_SALVADOR 503
|
||
|
#define CTRY_ESTONIA 372
|
||
|
#define CTRY_FAEROE_ISLANDS 298
|
||
|
#define CTRY_FINLAND 358
|
||
|
#define CTRY_FRANCE 33
|
||
|
#define CTRY_GEORGIA 995
|
||
|
#define CTRY_GERMANY 49
|
||
|
#define CTRY_GREECE 30
|
||
|
#define CTRY_GUATEMALA 502
|
||
|
#define CTRY_HONDURAS 504
|
||
|
#define CTRY_HONG_KONG 852
|
||
|
#define CTRY_HUNGARY 36
|
||
|
#define CTRY_ICELAND 354
|
||
|
#define CTRY_INDIA 91
|
||
|
#define CTRY_INDONESIA 62
|
||
|
#define CTRY_IRAN 981
|
||
|
#define CTRY_IRAQ 964
|
||
|
#define CTRY_IRELAND 353
|
||
|
#define CTRY_ISRAEL 972
|
||
|
#define CTRY_ITALY 39
|
||
|
#define CTRY_JAMAICA 1
|
||
|
#define CTRY_JAPAN 81
|
||
|
#define CTRY_JORDAN 962
|
||
|
#define CTRY_KAZAKSTAN 7
|
||
|
#define CTRY_KENYA 254
|
||
|
#define CTRY_KUWAIT 965
|
||
|
#define CTRY_KYRGYZSTAN 996
|
||
|
#define CTRY_LATVIA 371
|
||
|
#define CTRY_LEBANON 961
|
||
|
#define CTRY_LIBYA 218
|
||
|
#define CTRY_LIECHTENSTEIN 41
|
||
|
#define CTRY_LITHUANIA 370
|
||
|
#define CTRY_LUXEMBOURG 352
|
||
|
#define CTRY_MACAU 853
|
||
|
#define CTRY_MACEDONIA 389
|
||
|
#define CTRY_MALAYSIA 60
|
||
|
#define CTRY_MALDIVES 960
|
||
|
#define CTRY_MEXICO 52
|
||
|
#define CTRY_MONACO 33
|
||
|
#define CTRY_MONGOLIA 976
|
||
|
#define CTRY_MOROCCO 212
|
||
|
#define CTRY_NETHERLANDS 31
|
||
|
#define CTRY_NEW_ZEALAND 64
|
||
|
#define CTRY_NICARAGUA 505
|
||
|
#define CTRY_NORWAY 47
|
||
|
#define CTRY_OMAN 968
|
||
|
#define CTRY_PAKISTAN 92
|
||
|
#define CTRY_PANAMA 507
|
||
|
#define CTRY_PARAGUAY 595
|
||
|
#define CTRY_PERU 51
|
||
|
#define CTRY_PHILIPPINES 63
|
||
|
#define CTRY_POLAND 48
|
||
|
#define CTRY_PORTUGAL 351
|
||
|
#define CTRY_PRCHINA 86
|
||
|
#define CTRY_PEURTO_RICO 1
|
||
|
#define CTRY_QATAR 974
|
||
|
#define CTRY_ROMANIA 40
|
||
|
#define CTRY_RUSSIA 7
|
||
|
#define CTRY_SAUDI_ARABIA 966
|
||
|
#define CTRY_SERBIA 381
|
||
|
#define CTRY_SINGAPORE 65
|
||
|
#define CTRY_SLOVAK 421
|
||
|
#define CTRY_SLOVENIA 386
|
||
|
#define CTRY_SOUTH_AFRICA 27
|
||
|
#define CTRY_SOUTH_KOREA 82
|
||
|
#define CTRY_SPAIN 34
|
||
|
#define CTRY_SWEDEN 46
|
||
|
#define CTRY_SWITZERLAND 41
|
||
|
#define CTRY_SYRIA 963
|
||
|
#define CTRY_TAIWAN 886
|
||
|
#define CTRY_TATARSTAN 7
|
||
|
#define CTRY_THAILAND 66
|
||
|
#define CTRY_TRINIDAD_Y_TOBAGO 1
|
||
|
#define CTRY_TUNISIA 216
|
||
|
#define CTRY_TURKEY 90
|
||
|
#define CTRY_UAE 971
|
||
|
#define CTRY_UKRAINE 380
|
||
|
#define CTRY_UNITED_KINGDOM 44
|
||
|
#define CTRY_UNITED_STATES 1
|
||
|
#define CTRY_URUGUAY 598
|
||
|
#define CTRY_UZBEKISTAN 7
|
||
|
#define CTRY_VENEZUELA 58
|
||
|
#define CTRY_VIET_NAM 84
|
||
|
#define CTRY_YEMEN 967
|
||
|
#define CTRY_ZIMBABWE 263
|
||
|
|
||
|
/* Locale information type flags */
|
||
|
#define LOCALE_NOUSEROVERRIDE 0x80000000L
|
||
|
#define LOCALE_USE_CP_ACP 0x40000000L
|
||
|
#if (WINVER >= 0x0400)
|
||
|
#define LOCALE_RETURN_NUMBER 0x20000000L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define LOCALE_RETURN_GENITIVE_NAMES 0x10000000L
|
||
|
#define LOCALE_ALLOW_NEUTRAL_NAMES 0x08000000L
|
||
|
#endif
|
||
|
|
||
|
/* Locale information types */
|
||
|
#define LOCALE_ILANGUAGE 0x00000001L
|
||
|
#define LOCALE_SLANGUAGE 0x00000002L
|
||
|
#define LOCALE_SENGLANGUAGE 0x00001001L
|
||
|
#define LOCALE_SABBREVLANGNAME 0x00000003L
|
||
|
#define LOCALE_SNATIVELANGNAME 0x00000004L
|
||
|
#define LOCALE_ICOUNTRY 0x00000005L
|
||
|
#define LOCALE_SCOUNTRY 0x00000006L
|
||
|
#define LOCALE_SENGCOUNTRY 0x00001002L
|
||
|
#define LOCALE_SABBREVCTRYNAME 0x00000007L
|
||
|
#define LOCALE_SNATIVECTRYNAME 0x00000008L
|
||
|
#define LOCALE_IGEOID 0x0000005BL
|
||
|
#define LOCALE_IDEFAULTLANGUAGE 0x00000009L
|
||
|
#define LOCALE_IDEFAULTCOUNTRY 0x0000000AL
|
||
|
#define LOCALE_IDEFAULTCODEPAGE 0x0000000BL
|
||
|
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004L
|
||
|
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011L
|
||
|
#define LOCALE_SLIST 0x0000000CL
|
||
|
#define LOCALE_IMEASURE 0x0000000DL
|
||
|
#define LOCALE_SDECIMAL 0x0000000EL
|
||
|
#define LOCALE_STHOUSAND 0x0000000FL
|
||
|
#define LOCALE_SGROUPING 0x00000010L
|
||
|
#define LOCALE_IDIGITS 0x00000011L
|
||
|
#define LOCALE_ILZERO 0x00000012L
|
||
|
#define LOCALE_INEGNUMBER 0x00001010L
|
||
|
#define LOCALE_SNATIVEDIGITS 0x00000013L
|
||
|
#define LOCALE_SCURRENCY 0x00000014L
|
||
|
#define LOCALE_SINTLSYMBOL 0x00000015L
|
||
|
#define LOCALE_SMONDECIMALSEP 0x00000016L
|
||
|
#define LOCALE_SMONTHOUSANDSEP 0x00000017L
|
||
|
#define LOCALE_SMONGROUPING 0x00000018L
|
||
|
#define LOCALE_ICURRDIGITS 0x00000019L
|
||
|
#define LOCALE_IINTLCURRDIGITS 0x0000001AL
|
||
|
#define LOCALE_ICURRENCY 0x0000001BL
|
||
|
#define LOCALE_INEGCURR 0x0000001CL
|
||
|
#define LOCALE_SDATE 0x0000001DL
|
||
|
#define LOCALE_STIME 0x0000001EL
|
||
|
#define LOCALE_SSHORTDATE 0x0000001FL
|
||
|
#define LOCALE_SLONGDATE 0x00000020L
|
||
|
#define LOCALE_STIMEFORMAT 0x00001003L
|
||
|
#define LOCALE_IDATE 0x00000021L
|
||
|
#define LOCALE_ILDATE 0x00000022L
|
||
|
#define LOCALE_ITIME 0x00000023L
|
||
|
#define LOCALE_ITIMEMARKPOSN 0x00001005L
|
||
|
#define LOCALE_ICENTURY 0x00000024L
|
||
|
#define LOCALE_ITLZERO 0x00000025L
|
||
|
#define LOCALE_IDAYLZERO 0x00000026L
|
||
|
#define LOCALE_IMONLZERO 0x00000027L
|
||
|
#define LOCALE_S1159 0x00000028L
|
||
|
#define LOCALE_S2359 0x00000029L
|
||
|
#define LOCALE_ICALENDARTYPE 0x00001009L
|
||
|
#define LOCALE_IOPTIONALCALENDAR 0x0000100BL
|
||
|
#define LOCALE_IFIRSTDAYOFWEEK 0x0000100CL
|
||
|
#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100DL
|
||
|
#define LOCALE_SDAYNAME1 0x0000002AL
|
||
|
#define LOCALE_SDAYNAME2 0x0000002BL
|
||
|
#define LOCALE_SDAYNAME3 0x0000002CL
|
||
|
#define LOCALE_SDAYNAME4 0x0000002DL
|
||
|
#define LOCALE_SDAYNAME5 0x0000002EL
|
||
|
#define LOCALE_SDAYNAME6 0x0000002FL
|
||
|
#define LOCALE_SDAYNAME7 0x00000030L
|
||
|
#define LOCALE_SABBREVDAYNAME1 0x00000031L
|
||
|
#define LOCALE_SABBREVDAYNAME2 0x00000032L
|
||
|
#define LOCALE_SABBREVDAYNAME3 0x00000033L
|
||
|
#define LOCALE_SABBREVDAYNAME4 0x00000034L
|
||
|
#define LOCALE_SABBREVDAYNAME5 0x00000035L
|
||
|
#define LOCALE_SABBREVDAYNAME6 0x00000036L
|
||
|
#define LOCALE_SABBREVDAYNAME7 0x00000037L
|
||
|
#define LOCALE_SMONTHNAME1 0x00000038L
|
||
|
#define LOCALE_SMONTHNAME2 0x00000039L
|
||
|
#define LOCALE_SMONTHNAME3 0x0000003AL
|
||
|
#define LOCALE_SMONTHNAME4 0x0000003BL
|
||
|
#define LOCALE_SMONTHNAME5 0x0000003CL
|
||
|
#define LOCALE_SMONTHNAME6 0x0000003DL
|
||
|
#define LOCALE_SMONTHNAME7 0x0000003EL
|
||
|
#define LOCALE_SMONTHNAME8 0x0000003FL
|
||
|
#define LOCALE_SMONTHNAME9 0x00000040L
|
||
|
#define LOCALE_SMONTHNAME10 0x00000041L
|
||
|
#define LOCALE_SMONTHNAME11 0x00000042L
|
||
|
#define LOCALE_SMONTHNAME12 0x00000043L
|
||
|
#define LOCALE_SMONTHNAME13 0x0000100EL
|
||
|
#define LOCALE_SABBREVMONTHNAME1 0x00000044L
|
||
|
#define LOCALE_SABBREVMONTHNAME2 0x00000045L
|
||
|
#define LOCALE_SABBREVMONTHNAME3 0x00000046L
|
||
|
#define LOCALE_SABBREVMONTHNAME4 0x00000047L
|
||
|
#define LOCALE_SABBREVMONTHNAME5 0x00000048L
|
||
|
#define LOCALE_SABBREVMONTHNAME6 0x00000049L
|
||
|
#define LOCALE_SABBREVMONTHNAME7 0x0000004AL
|
||
|
#define LOCALE_SABBREVMONTHNAME8 0x0000004BL
|
||
|
#define LOCALE_SABBREVMONTHNAME9 0x0000004CL
|
||
|
#define LOCALE_SABBREVMONTHNAME10 0x0000004DL
|
||
|
#define LOCALE_SABBREVMONTHNAME11 0x0000004EL
|
||
|
#define LOCALE_SABBREVMONTHNAME12 0x0000004FL
|
||
|
#define LOCALE_SABBREVMONTHNAME13 0x0000100FL
|
||
|
#define LOCALE_SPOSITIVESIGN 0x00000050L
|
||
|
#define LOCALE_SNEGATIVESIGN 0x00000051L
|
||
|
#define LOCALE_IPOSSIGNPOSN 0x00000052L
|
||
|
#define LOCALE_INEGSIGNPOSN 0x00000053L
|
||
|
#define LOCALE_IPOSSYMPRECEDES 0x00000054L
|
||
|
#define LOCALE_IPOSSEPBYSPACE 0x00000055L
|
||
|
#define LOCALE_INEGSYMPRECEDES 0x00000056L
|
||
|
#define LOCALE_INEGSEPBYSPACE 0x00000057L
|
||
|
#if (WINVER >= 0x0400)
|
||
|
#define LOCALE_FONTSIGNATURE 0x00000058L
|
||
|
#define LOCALE_SISO639LANGNAME 0x00000059L
|
||
|
#define LOCALE_SISO3166CTRYNAME 0x0000005AL
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012L
|
||
|
#define LOCALE_IPAPERSIZE 0x0000100AL
|
||
|
#define LOCALE_SENGCURRNAME 0x00001007L
|
||
|
#define LOCALE_SNATIVECURRNAME 0x00001008L
|
||
|
#define LOCALE_SYEARMONTH 0x00001006L
|
||
|
#define LOCALE_SSORTNAME 0x00001013L
|
||
|
#define LOCALE_IDIGITSUBSTITUTION 0x00001014L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define LOCALE_SNAME 0x0000005CL
|
||
|
#define LOCALE_SDURATION 0x0000005DL
|
||
|
#define LOCALE_SKEYBOARDSTOINSTALL 0x0000005EL
|
||
|
#define LOCALE_SSHORTESTDAYNAME1 0x00000060L
|
||
|
#define LOCALE_SSHORTESTDAYNAME2 0x00000061L
|
||
|
#define LOCALE_SSHORTESTDAYNAME3 0x00000062L
|
||
|
#define LOCALE_SSHORTESTDAYNAME4 0x00000063L
|
||
|
#define LOCALE_SSHORTESTDAYNAME5 0x00000064L
|
||
|
#define LOCALE_SSHORTESTDAYNAME6 0x00000065L
|
||
|
#define LOCALE_SSHORTESTDAYNAME7 0x00000066L
|
||
|
#define LOCALE_SISO639LANGNAME2 0x00000067L
|
||
|
#define LOCALE_SISO3166CTRYNAME2 0x00000068L
|
||
|
#define LOCALE_SNAN 0x00000069L
|
||
|
#define LOCALE_SPOSINFINITY 0x0000006AL
|
||
|
#define LOCALE_SNEGINFINITY 0x0000006BL
|
||
|
#define LOCALE_SSCRIPTS 0x0000006CL
|
||
|
#define LOCALE_SPARENT 0x0000006DL
|
||
|
#define LOCALE_SCONSOLEFALLBACKNAME 0x0000006EL
|
||
|
#define LOCALE_SLANGDISPLAYNAME 0x0000006FL
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0700)
|
||
|
#define LOCALE_IREADINGLAYOUT 0x00000070L
|
||
|
#define LOCALE_INEUTRAL 0x00000071L
|
||
|
#define LOCALE_INEGATIVEPERCENT 0x00000074L
|
||
|
#define LOCALE_IPOSITIVEPERCENT 0x00000075L
|
||
|
#define LOCALE_SPERCENT 0x00000076L
|
||
|
#define LOCALE_SPERMILLE 0x00000077L
|
||
|
#define LOCALE_SMONTHDAY 0x00000078L
|
||
|
#define LOCALE_SSHORTTIME 0x00000079L
|
||
|
#define LOCALE_SOPENTYPELANGUAGETAG 0x0000007AL
|
||
|
#define LOCALE_SSORTLOCALE 0x0000007BL
|
||
|
#endif
|
||
|
|
||
|
/* New locale information types */
|
||
|
#define LOCALE_SLOCALIZEDDISPLAYNAME 0x00000002L
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define LOCALE_SENGLISHDISPLAYNAME 0x00000072L
|
||
|
#define LOCALE_SNATIVEDISPLAYNAME 0x00000073L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006FL
|
||
|
#endif
|
||
|
#define LOCALE_SENGLISHLANGUAGENAME 0x00001001L
|
||
|
#define LOCALE_SNATIVELANGUAGENAME 0x00000004L
|
||
|
#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006L
|
||
|
#define LOCALE_SENGLISHCOUNTRYNAME 0x00001002L
|
||
|
#define LOCALE_SNATIVECOUNTRYNAME 0x00000008L
|
||
|
|
||
|
/* GetTimeFormat() flags */
|
||
|
#define TIME_NOMINUTESORSECONDS 0x00000001L
|
||
|
#define TIME_NOSECONDS 0x00000002L
|
||
|
#define TIME_NOTIMEMARKER 0x00000004L
|
||
|
#define TIME_FORCE24HOURFORMAT 0x00000008L
|
||
|
|
||
|
/* GetDateFormat() flags */
|
||
|
#define DATE_SHORTDATE 0x00000001L
|
||
|
#define DATE_LONGDATE 0x00000002L
|
||
|
#define DATE_USE_ALT_CALENDAR 0x00000004L
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define DATE_YEARMONTH 0x00000008L
|
||
|
#define DATE_LTRREADING 0x00000010L
|
||
|
#define DATE_RTLREADING 0x00000020L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define DATE_AUTOLAYOUT 0x00000040L
|
||
|
#endif
|
||
|
|
||
|
/* Calendar information type flags */
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
|
||
|
#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
|
||
|
#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES
|
||
|
#endif
|
||
|
|
||
|
/* Calendar information types */
|
||
|
#define CAL_ICALINTVALUE 0x00000001L
|
||
|
#define CAL_SCALNAME 0x00000002L
|
||
|
#define CAL_IYEAROFFSETRANGE 0x00000003L
|
||
|
#define CAL_SERASTRING 0x00000004L
|
||
|
#define CAL_SSHORTDATE 0x00000005L
|
||
|
#define CAL_SLONGDATE 0x00000006L
|
||
|
#define CAL_SDAYNAME1 0x00000007L
|
||
|
#define CAL_SDAYNAME2 0x00000008L
|
||
|
#define CAL_SDAYNAME3 0x00000009L
|
||
|
#define CAL_SDAYNAME4 0x0000000AL
|
||
|
#define CAL_SDAYNAME5 0x0000000BL
|
||
|
#define CAL_SDAYNAME6 0x0000000CL
|
||
|
#define CAL_SDAYNAME7 0x0000000DL
|
||
|
#define CAL_SABBREVDAYNAME1 0x0000000EL
|
||
|
#define CAL_SABBREVDAYNAME2 0x0000000FL
|
||
|
#define CAL_SABBREVDAYNAME3 0x00000010L
|
||
|
#define CAL_SABBREVDAYNAME4 0x00000011L
|
||
|
#define CAL_SABBREVDAYNAME5 0x00000012L
|
||
|
#define CAL_SABBREVDAYNAME6 0x00000013L
|
||
|
#define CAL_SABBREVDAYNAME7 0x00000014L
|
||
|
#define CAL_SMONTHNAME1 0x00000015L
|
||
|
#define CAL_SMONTHNAME2 0x00000016L
|
||
|
#define CAL_SMONTHNAME3 0x00000017L
|
||
|
#define CAL_SMONTHNAME4 0x00000018L
|
||
|
#define CAL_SMONTHNAME5 0x00000019L
|
||
|
#define CAL_SMONTHNAME6 0x0000001AL
|
||
|
#define CAL_SMONTHNAME7 0x0000001BL
|
||
|
#define CAL_SMONTHNAME8 0x0000001CL
|
||
|
#define CAL_SMONTHNAME9 0x0000001DL
|
||
|
#define CAL_SMONTHNAME10 0x0000001EL
|
||
|
#define CAL_SMONTHNAME11 0x0000001FL
|
||
|
#define CAL_SMONTHNAME12 0x00000020L
|
||
|
#define CAL_SMONTHNAME13 0x00000021L
|
||
|
#define CAL_SABBREVMONTHNAME1 0x00000022L
|
||
|
#define CAL_SABBREVMONTHNAME2 0x00000023L
|
||
|
#define CAL_SABBREVMONTHNAME3 0x00000024L
|
||
|
#define CAL_SABBREVMONTHNAME4 0x00000025L
|
||
|
#define CAL_SABBREVMONTHNAME5 0x00000026L
|
||
|
#define CAL_SABBREVMONTHNAME6 0x00000027L
|
||
|
#define CAL_SABBREVMONTHNAME7 0x00000028L
|
||
|
#define CAL_SABBREVMONTHNAME8 0x00000029L
|
||
|
#define CAL_SABBREVMONTHNAME9 0x0000002AL
|
||
|
#define CAL_SABBREVMONTHNAME10 0x0000002BL
|
||
|
#define CAL_SABBREVMONTHNAME11 0x0000002CL
|
||
|
#define CAL_SABBREVMONTHNAME12 0x0000002DL
|
||
|
#define CAL_SABBREVMONTHNAME13 0x0000002EL
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define CAL_SYEARMONTH 0x0000002FL
|
||
|
#define CAL_ITWODIGITYEARMAX 0x00000030L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define CAL_SSHORTESTDAYNAME1 0x00000031L
|
||
|
#define CAL_SSHORTESTDAYNAME2 0x00000032L
|
||
|
#define CAL_SSHORTESTDAYNAME3 0x00000033L
|
||
|
#define CAL_SSHORTESTDAYNAME4 0x00000034L
|
||
|
#define CAL_SSHORTESTDAYNAME5 0x00000035L
|
||
|
#define CAL_SSHORTESTDAYNAME6 0x00000036L
|
||
|
#define CAL_SSHORTESTDAYNAME7 0x00000037L
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
#define CAL_SMONTHDAY 0x00000038L
|
||
|
#define CAL_SABBREVERASTRING 0x00000039L
|
||
|
#endif
|
||
|
|
||
|
/* Special calendar identifier for EnumCalendarInfo() */
|
||
|
#define ENUM_ALL_CALENDARS 0xFFFFFFFFL
|
||
|
|
||
|
/* Calendar identifiers */
|
||
|
#define CAL_GREGORIAN 1L
|
||
|
#define CAL_GREGORIAN_US 2L
|
||
|
#define CAL_JAPAN 3L
|
||
|
#define CAL_TAIWAN 4L
|
||
|
#define CAL_KOREA 5L
|
||
|
#define CAL_HIJRI 6L
|
||
|
#define CAL_THAI 7L
|
||
|
#define CAL_HEBREW 8L
|
||
|
#define CAL_GREGORIAN_ME_FRENCH 9L
|
||
|
#define CAL_GREGORIAN_ARABIC 10L
|
||
|
#define CAL_GREGORIAN_XLIT_ENGLISH 11L
|
||
|
#define CAL_GREGORIAN_XLIT_FRENCH 12L
|
||
|
#define CAL_UMALQURA 23L
|
||
|
|
||
|
/* Language group identifiers */
|
||
|
#define LGRPID_WESTERN_EUROPE 0x00000001L
|
||
|
#define LGRPID_CENTRAL_EUROPE 0x00000002L
|
||
|
#define LGRPID_BALTIC 0x00000003L
|
||
|
#define LGRPID_GREEK 0x00000004L
|
||
|
#define LGRPID_CYRILLIC 0x00000005L
|
||
|
#define LGRPID_TURKIC 0x00000006L
|
||
|
#define LGRPID_TURKISH 0x00000006L
|
||
|
#define LGRPID_JAPANESE 0x00000007L
|
||
|
#define LGPRID_KOREAN 0x00000008L
|
||
|
#define LGRPID_TRADITIONAL_CHINESE 0x00000009L
|
||
|
#define LGRPID_SIMPLIFIED_CHINESE 0x0000000AL
|
||
|
#define LGRPID_THAI 0x0000000BL
|
||
|
#define LGRPID_HEBREW 0x0000000CL
|
||
|
#define LGRPID_ARABIC 0x0000000DL
|
||
|
#define LGRPID_VIETNAMESE 0x0000000EL
|
||
|
#define LGRPID_INDIC 0x0000000FL
|
||
|
#define LGRPID_GEORGIAN 0x00000010L
|
||
|
#define LGRPID_ARMENIAN 0x00000011L
|
||
|
|
||
|
/* Multilingual User Interface (MUI) flags */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define MUI_LANGUAGE_ID 0x00000004L
|
||
|
#define MUI_LANGUAGE_NAME 0x00000008L
|
||
|
#define MUI_MERGE_SYSTEM_FALLBACK 0x00000010L
|
||
|
#define MUI_MERGE_USER_FALLBACK 0x00000020L
|
||
|
#define MUI_UI_FALLBACK \
|
||
|
(MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK)
|
||
|
#define MUI_THREAD_LANGUAGES 0x00000040L
|
||
|
#define MUI_CONSOLE_FILTER 0x00000100L
|
||
|
#define MUI_COMPLEX_SCRIPT_FILTER 0x00000200L
|
||
|
#define MUI_RESET_FILTERS 0x00000001L
|
||
|
#define MUI_USER_PREFERRED_UI_LANGUAGES 0x00000010L
|
||
|
#define MUI_USE_INSTALLED_LANGUAGES 0x00000020L
|
||
|
#define MUI_USE_SEARCH_ALL_LANGUAGES 0x00000040L
|
||
|
#define MUI_LANG_NEUTRAL_PE_FILE 0x00000100L
|
||
|
#define MUI_NON_LANG_NEUTRAL_FILE 0x00000200L
|
||
|
#define MUI_MACHINE_LANGUAGE_SETTINGS 0x00000400L
|
||
|
#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x00000001L
|
||
|
#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x00000002L
|
||
|
#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x00000004L
|
||
|
#define MUI_QUERY_TYPE 0x00000001L
|
||
|
#define MUI_QUERY_CHECKSUM 0x00000002L
|
||
|
#define MUI_QUERY_LANGUAGE_NAME 0x00000004L
|
||
|
#define MUI_QUERY_RESOURCE_TYPES 0x00000008L
|
||
|
#define MUI_FILEINFO_VERSION 0x00000001L
|
||
|
#define MUI_FULL_LANGUAGE 0x00000001L
|
||
|
#define MUI_PARTIAL_LANGUAGE 0x00000002L
|
||
|
#define MUI_LIP_LANGUAGE 0x00000004L
|
||
|
#define MUI_LANGUAGE_INSTALLED 0x00000020L
|
||
|
#define MUI_LANGUAGE_LICENSED 0x00000040L
|
||
|
#endif
|
||
|
|
||
|
/* Special value returned by GetUserGeoID() */
|
||
|
#define GEOID_NOT_AVAILABLE (-1L)
|
||
|
|
||
|
/* International Domain Name flags */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define IDN_ALLOW_UNASSIGNED 0x00000001L
|
||
|
#define IDN_USE_STD3_ASCII_RULES 0x00000002L
|
||
|
#endif
|
||
|
|
||
|
/* VerifyScripts() flags */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define VS_ALLOW_LATIN 0x00000001L
|
||
|
#endif
|
||
|
|
||
|
/* GetScriptStrings() flags */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define GSS_ALLOWED_INHERITED_COMMON 0x00000001L
|
||
|
#endif
|
||
|
|
||
|
/* Locale name special values */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
#define LOCALE_NAME_USER_DEFAULT NULL
|
||
|
#define LOCALE_NAME_INVARIANT L""
|
||
|
#define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
|
||
|
#endif
|
||
|
|
||
|
/* NLS functions */
|
||
|
enum SYSNLS_FUNCTION {
|
||
|
COMPARE_STRING = 0x00000001L
|
||
|
};
|
||
|
|
||
|
/* Geographical information types */
|
||
|
enum SYSGEOTYPE {
|
||
|
GEO_NATION = 0x00000001L,
|
||
|
GEO_LATITUDE = 0x00000002L,
|
||
|
GEO_LONGITUDE = 0x00000003L,
|
||
|
GEO_ISO2 = 0x00000004L,
|
||
|
GEO_ISO3 = 0x00000005L,
|
||
|
GEO_RFC1766 = 0x00000006L,
|
||
|
GEO_LCID = 0x00000007L,
|
||
|
GEO_FRIENDLYNAME = 0x00000008L,
|
||
|
GEO_OFFICIALNAME = 0x00000009L,
|
||
|
GEO_TIMEZONES = 0x0000000AL,
|
||
|
GEO_OFFICIALLANGUAGES = 0x0000000BL
|
||
|
};
|
||
|
|
||
|
/* Geographical location classes */
|
||
|
enum SYSGEOCLASS {
|
||
|
GEOCLASS_NATION = 16L,
|
||
|
GEOCLASS_REGION = 14L
|
||
|
};
|
||
|
|
||
|
/* Code page information */
|
||
|
typedef struct _cpinfo {
|
||
|
UINT MaxCharSize;
|
||
|
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||
|
BYTE LeadByte[MAX_LEADBYTES];
|
||
|
} CPINFO;
|
||
|
typedef CPINFO *LPCPINFO;
|
||
|
|
||
|
/* Code page information (extended version) */
|
||
|
typedef struct _cpinfoexA {
|
||
|
UINT MaxCharSize;
|
||
|
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||
|
BYTE LeadByte[MAX_LEADBYTES];
|
||
|
WCHAR UnicodeDefaultChar;
|
||
|
UINT CodePage;
|
||
|
CHAR CodePageName[MAX_PATH];
|
||
|
} CPINFOEXA;
|
||
|
typedef CPINFOEXA *LPCPINFOEXA;
|
||
|
typedef struct _cpinfoexW {
|
||
|
UINT MaxCharSize;
|
||
|
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||
|
BYTE LeadByte[MAX_LEADBYTES];
|
||
|
WCHAR UnicodeDefaultChar;
|
||
|
UINT CodePage;
|
||
|
WCHAR CodePageName[MAX_PATH];
|
||
|
} CPINFOEXW;
|
||
|
typedef CPINFOEXW *LPCPINFOEXW;
|
||
|
#ifdef UNICODE
|
||
|
typedef CPINFOEXW CPINFOEX;
|
||
|
typedef LPCPINFOEXW LPCPINFOEX;
|
||
|
#else
|
||
|
typedef CPINFOEXA CPINFOEX;
|
||
|
typedef LPCPINFOEXA LPCPINFOEX;
|
||
|
#endif
|
||
|
|
||
|
/* Number format information */
|
||
|
typedef struct _numberfmtA {
|
||
|
UINT NumDigits;
|
||
|
UINT LeadingZero;
|
||
|
UINT Grouping;
|
||
|
LPSTR lpDecimalSep;
|
||
|
LPSTR lpThousandSep;
|
||
|
UINT NegativeOrder;
|
||
|
} NUMBERFMTA;
|
||
|
typedef NUMBERFMTA *LPNUMBERFMTA;
|
||
|
typedef struct _numberfmtW {
|
||
|
UINT NumDigits;
|
||
|
UINT LeadingZero;
|
||
|
UINT Grouping;
|
||
|
LPWSTR lpDecimalSep;
|
||
|
LPWSTR lpThousandSep;
|
||
|
UINT NegativeOrder;
|
||
|
} NUMBERFMTW;
|
||
|
typedef NUMBERFMTW *LPNUMBERFMTW;
|
||
|
#ifdef UNICODE
|
||
|
typedef NUMBERFMTW NUMBERFMT;
|
||
|
typedef LPNUMBERFMTW LPNUMBERFMT;
|
||
|
#else
|
||
|
typedef NUMBERFMTA NUMBERFMT;
|
||
|
typedef LPNUMBERFMTA LPNUMBERFMT;
|
||
|
#endif
|
||
|
|
||
|
/* Currency format information */
|
||
|
typedef struct _currencyfmtA {
|
||
|
UINT NumDigits;
|
||
|
UINT LeadingZero;
|
||
|
UINT Grouping;
|
||
|
LPSTR lpDecimalSep;
|
||
|
LPSTR lpThousandSep;
|
||
|
UINT NegativeOrder;
|
||
|
UINT PositiveOrder;
|
||
|
LPSTR lpCurrencySymbol;
|
||
|
} CURRENCYFMTA;
|
||
|
typedef CURRENCYFMTA *LPCURRENCYFMTA;
|
||
|
typedef struct _currencyfmtW {
|
||
|
UINT NumDigits;
|
||
|
UINT LeadingZero;
|
||
|
UINT Grouping;
|
||
|
LPWSTR lpDecimalSep;
|
||
|
LPWSTR lpThousandSep;
|
||
|
UINT NegativeOrder;
|
||
|
UINT PositiveOrder;
|
||
|
LPWSTR lpCurrencySymbol;
|
||
|
} CURRENCYFMTW;
|
||
|
typedef CURRENCYFMTW *LPCURRENCYFMTW;
|
||
|
#ifdef UNICODE
|
||
|
typedef CURRENCYFMTW CURRENCYFMT;
|
||
|
typedef LPCURRENCYFMTW LPCURRENCYFMT;
|
||
|
#else
|
||
|
typedef CURRENCYFMTA CURRENCYFMT;
|
||
|
typedef LPCURRENCYFMTA LPCURRENCYFMT;
|
||
|
#endif
|
||
|
|
||
|
/* NLS version information */
|
||
|
typedef struct _nlsversioninfo {
|
||
|
DWORD dwNLSVersionInfoSize;
|
||
|
DWORD dwNLSVersion;
|
||
|
DWORD dwDefinedVersion;
|
||
|
} NLSVERSIONINFO;
|
||
|
typedef NLSVERSIONINFO *LPNLSVERSIONINFO;
|
||
|
|
||
|
/* NLS version information (extended version) */
|
||
|
typedef struct _nlsversioninfoex {
|
||
|
DWORD dwNLSVersionInfoSize;
|
||
|
DWORD dwNLSVersion;
|
||
|
DWORD dwDefinedVersion;
|
||
|
DWORD dwEffectiveId;
|
||
|
GUID guidCustomVersion;
|
||
|
} NLSVERSIONINFOEX;
|
||
|
typedef NLSVERSIONINFOEX *LPNLSVERSIONINFOEX;
|
||
|
|
||
|
/* Normalization forms */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
typedef enum _NORM_FORM {
|
||
|
NormalizationOther = 0,
|
||
|
NormalizationC = 1,
|
||
|
NormalizationD = 2,
|
||
|
NormalizationKC = 5,
|
||
|
NormalizationKD = 6
|
||
|
} NORM_FORM;
|
||
|
#endif
|
||
|
|
||
|
/* MUI file information */
|
||
|
typedef struct _FILEMUIINFO {
|
||
|
DWORD dwSize;
|
||
|
DWORD dwVersion;
|
||
|
DWORD dwFileType;
|
||
|
BYTE pChecksum[16];
|
||
|
BYTE pServiceChecksum[16];
|
||
|
DWORD dwLanguageNameOffset;
|
||
|
DWORD dwTypeIDMainSize;
|
||
|
DWORD dwTypeIDMainOffset;
|
||
|
DWORD dwTypeNameMainOffset;
|
||
|
DWORD dwTypeIDMUISize;
|
||
|
DWORD dwTypeIDMUIOffset;
|
||
|
DWORD dwTypeNameMUIOffset;
|
||
|
BYTE abBuffer[8];
|
||
|
} FILEMUIINFO;
|
||
|
typedef FILEMUIINFO *PFILEMUIINFO;
|
||
|
|
||
|
/* Callback functions */
|
||
|
typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)( LPSTR );
|
||
|
typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)( LPSTR, CALID );
|
||
|
typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)( LPWSTR, CALID );
|
||
|
typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)( LPWSTR );
|
||
|
typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)( LPSTR );
|
||
|
typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)( LPWSTR );
|
||
|
typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)( LPSTR );
|
||
|
typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)( LPSTR, CALID );
|
||
|
typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)( LPWSTR, CALID );
|
||
|
typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)( LPWSTR );
|
||
|
typedef BOOL (CALLBACK *GEO_ENUMPROC)( GEOID );
|
||
|
typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)( LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR );
|
||
|
typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)( LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR );
|
||
|
typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)( LGRPID, LCID, LPSTR, LONG_PTR );
|
||
|
typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)( LGRPID, LCID, LPWSTR, LONG_PTR );
|
||
|
typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)( LPSTR );
|
||
|
typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)( LPWSTR );
|
||
|
typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)( LPSTR );
|
||
|
typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)( LPWSTR );
|
||
|
typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)( LPSTR, LONG_PTR );
|
||
|
typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)( LPWSTR, LONG_PTR );
|
||
|
#if (WINVER >= 0x0600)
|
||
|
typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXEX)( LPWSTR, CALID, LPWSTR, LPARAM );
|
||
|
typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXEX)( LPWSTR, CALID, LPARAM );
|
||
|
typedef BOOL (CALLBACK *LOCALE_ENUMPROCEX)( LPWSTR, WORD, LPARAM );
|
||
|
typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCEX)( LPWSTR, LPARAM );
|
||
|
#endif
|
||
|
#ifdef UNICODE
|
||
|
#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
|
||
|
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
|
||
|
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
|
||
|
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
|
||
|
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
|
||
|
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
|
||
|
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
|
||
|
#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
|
||
|
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
|
||
|
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
|
||
|
#else
|
||
|
#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
|
||
|
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
|
||
|
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
|
||
|
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
|
||
|
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
|
||
|
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
|
||
|
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
|
||
|
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
|
||
|
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
|
||
|
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
|
||
|
#endif
|
||
|
|
||
|
/* Surrogate pair macros */
|
||
|
#define IS_HIGH_SURROGATE( x ) \
|
||
|
(((x) >= HIGH_SURROGATE_START) && ((x) <= HIGH_SURROGATE_END))
|
||
|
#define IS_LOW_SURROGATE( x ) \
|
||
|
(((x) >= LOW_SURROGATE_START) && ((x) <= LOW_SURROGATE_END))
|
||
|
#define IS_SURROGATE_PAIR( p1, p2 ) \
|
||
|
(IS_HIGH_SURROGATE( p1 ) && IS_LOW_SURROGATE( p2 ))
|
||
|
|
||
|
/* MUI file information macros */
|
||
|
#define FILEMUIINFO_GET_CULTURE( x ) \
|
||
|
((LPWSTR)(((x)->dwLanguageNameOffset > 0) ? \
|
||
|
(ULONG_PTR)(x) + (x)->dwLanguageNameOffset : NULL))
|
||
|
#define FILEMUIINFO_GET_MAIN_TYPEIDS( x ) \
|
||
|
((DWORD *)(((x)->dwTypeIDMainOffset > 0) ? \
|
||
|
(ULONG_PTR)(x) + (x)->dwTypeIDMainOffset : NULL))
|
||
|
#define FILEMUIINFO_GET_MAIN_TYPEID( p1, p2 ) \
|
||
|
((((p2) < (p1)->dwTypeIDMainSize) && ((p1)->dwTypeIDMainOffset > 0)) ? \
|
||
|
*((DWORD *)((ULONG_PTR)(p1) + (p1)->dwTypeIDMainOffset) + (p2)) : 0)
|
||
|
#define FILEMUIINFO_GET_MAIN_TYPENAMES( x ) \
|
||
|
((LPWSTR)(((x)->dwTypeNameMainOffset > 0) ? \
|
||
|
(ULONG_PTR)(x) + (x)->dwTypeNameMainOffset : NULL))
|
||
|
#define FILEMUIINFO_GET_MUI_TYPEIDS( x ) \
|
||
|
((DWORD *)(((x)->dwTypeIDMUIOffset > 0) ? \
|
||
|
(ULONG_PTR)(x) + (x)->dwTypeIDMUIOffset : NULL))
|
||
|
#define FILEMUIINFO_GET_MUI_TYPEID( p1, p2 ) \
|
||
|
((((p2) < (p1)->dwTypeIDMUISize) && ((p1)->dwTypeIDMUIOffset > 0)) ? \
|
||
|
*((DWORD *)((ULONG_PTR)(p1) + (p1)->dwTypeIDMUIOffset) + (p2)) : 0)
|
||
|
#define FILEMUIINFO_GET_MUI_TYPENAMES( x ) \
|
||
|
((LPWSTR)(((x)->dwTypeNameMUIOffset > 0) ? \
|
||
|
(ULONG_PTR)(x) + (x)->dwTypeNameMUIOffset : NULL))
|
||
|
|
||
|
/* Functions in KERNEL32.DLL */
|
||
|
WINBASEAPI int WINAPI CompareStringA( LCID, DWORD, PCNZCH, int, PCNZCH, int );
|
||
|
WINBASEAPI int WINAPI CompareStringW( LCID, DWORD, PCNZWCH, int, PCNZWCH, int );
|
||
|
WINBASEAPI LCID WINAPI ConvertDefaultLocale( LCID );
|
||
|
WINBASEAPI BOOL WINAPI EnumCalendarInfoA( CALINFO_ENUMPROCA, LCID, CALID, CALTYPE );
|
||
|
WINBASEAPI BOOL WINAPI EnumCalendarInfoW( CALINFO_ENUMPROCW, LCID, CALID, CALTYPE );
|
||
|
WINBASEAPI BOOL WINAPI EnumDateFormatsA( DATEFMT_ENUMPROCA, LCID, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumDateFormatsW( DATEFMT_ENUMPROCW, LCID, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemCodePagesA( CODEPAGE_ENUMPROCA, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemCodePagesW( CODEPAGE_ENUMPROCW, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemGeoID( GEOCLASS, GEOID, GEO_ENUMPROC );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemLocalesA( LOCALE_ENUMPROCA, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemLocalesW( LOCALE_ENUMPROCW, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumTimeFormatsA( TIMEFMT_ENUMPROCA, LCID, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumTimeFormatsW( TIMEFMT_ENUMPROCW, LCID, DWORD );
|
||
|
WINBASEAPI int WINAPI FoldStringA( DWORD, LPCSTR, int, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI FoldStringW( DWORD, LPCWSTR, int, LPWSTR, int );
|
||
|
WINBASEAPI UINT WINAPI GetACP( void );
|
||
|
WINBASEAPI BOOL WINAPI GetCPInfo( UINT, LPCPINFO );
|
||
|
WINBASEAPI BOOL WINAPI GetCPInfoExA( UINT, DWORD, LPCPINFOEXA );
|
||
|
WINBASEAPI BOOL WINAPI GetCPInfoExW( UINT, DWORD, LPCPINFOEXW );
|
||
|
WINBASEAPI int WINAPI GetCurrencyFormatA( LCID, DWORD, LPCSTR, CONST CURRENCYFMTA *, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI GetCurrencyFormatW( LCID, DWORD, LPCWSTR, CONST CURRENCYFMTW *, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI GetDateFormatA( LCID, DWORD, CONST SYSTEMTIME *, LPCSTR, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI GetDateFormatW( LCID, DWORD, CONST SYSTEMTIME *, LPCWSTR, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI GetGeoInfoA( GEOID, GEOTYPE, LPSTR, int, LANGID );
|
||
|
WINBASEAPI int WINAPI GetGeoInfoW( GEOID, GEOTYPE, LPWSTR, int, LANGID );
|
||
|
WINBASEAPI int WINAPI GetLocaleInfoA( LCID, LCTYPE, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI GetLocaleInfoW( LCID, LCTYPE, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetNLSVersion( NLS_FUNCTION, LCID, LPNLSVERSIONINFO );
|
||
|
WINBASEAPI int WINAPI GetNumberFormatA( LCID, DWORD, LPCSTR, CONST NUMBERFMTA *, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI GetNumberFormatW( LCID, DWORD, LPCWSTR, CONST NUMBERFMTW *, LPWSTR, int );
|
||
|
WINBASEAPI UINT WINAPI GetOEMCP( void );
|
||
|
WINBASEAPI BOOL WINAPI GetStringTypeA( LCID, DWORD, LPCSTR, int, LPWORD );
|
||
|
WINBASEAPI BOOL WINAPI GetStringTypeExA( LCID, DWORD, LPCSTR, int, LPWORD );
|
||
|
WINBASEAPI BOOL WINAPI GetStringTypeExW( LCID, DWORD, LPCWSTR, int, LPWORD );
|
||
|
WINBASEAPI BOOL WINAPI GetStringTypeW( DWORD, LPCWSTR, int, LPWORD );
|
||
|
WINBASEAPI LCID WINAPI GetSystemDefaultLCID( void );
|
||
|
WINBASEAPI LANGID WINAPI GetSystemDefaultLangID( void );
|
||
|
WINBASEAPI LCID WINAPI GetThreadLocale( void );
|
||
|
WINBASEAPI int WINAPI GetTimeFormatA( LCID, DWORD, CONST SYSTEMTIME *, LPCSTR, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI GetTimeFormatW( LCID, DWORD, CONST SYSTEMTIME *, LPCWSTR, LPWSTR, int );
|
||
|
WINBASEAPI LCID WINAPI GetUserDefaultLCID( void );
|
||
|
WINBASEAPI LANGID WINAPI GetUserDefaultLangID( void );
|
||
|
WINBASEAPI GEOID WINAPI GetUserGeoID( GEOCLASS );
|
||
|
WINBASEAPI BOOL WINAPI IsDBCSLeadByte( BYTE );
|
||
|
WINBASEAPI BOOL WINAPI IsDBCSLeadByteEx( UINT, BYTE );
|
||
|
WINBASEAPI BOOL WINAPI IsNLSDefinedString( NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, INT );
|
||
|
WINBASEAPI BOOL WINAPI IsValidCodePage( UINT );
|
||
|
WINBASEAPI BOOL WINAPI IsValidLocale( LCID, DWORD );
|
||
|
WINBASEAPI int WINAPI LCMapStringA( LCID, DWORD, LPCSTR, int, LPSTR, int );
|
||
|
WINBASEAPI int WINAPI LCMapStringW( LCID, DWORD, LPCWSTR, int, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI MultiByteToWideChar( UINT, DWORD, LPCSTR, int, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI SetLocaleInfoA( LCID, LCTYPE, LPCSTR );
|
||
|
WINBASEAPI BOOL WINAPI SetLocaleInfoW( LCID, LCTYPE, LPCWSTR );
|
||
|
WINBASEAPI BOOL WINAPI SetThreadLocale( LCID );
|
||
|
WINBASEAPI LANGID WINAPI SetThreadUILanguage( LANGID );
|
||
|
WINBASEAPI BOOL WINAPI SetUserGeoID( GEOID );
|
||
|
WINBASEAPI int WINAPI WideCharToMultiByte( UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL );
|
||
|
#if (WINVER >= 0x040A)
|
||
|
WINBASEAPI int WINAPI GetCalendarInfoA( LCID, CALID, CALTYPE, LPSTR, int, LPDWORD );
|
||
|
WINBASEAPI int WINAPI GetCalendarInfoW( LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD );
|
||
|
WINBASEAPI BOOL WINAPI SetCalendarInfoA( LCID, CALID, CALTYPE, LPCSTR );
|
||
|
WINBASEAPI BOOL WINAPI SetCalendarInfoW( LCID, CALID, CALTYPE, LPCWSTR );
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0500)
|
||
|
WINBASEAPI BOOL WINAPI EnumCalendarInfoExA( CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE );
|
||
|
WINBASEAPI BOOL WINAPI EnumCalendarInfoExW( CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE );
|
||
|
WINBASEAPI BOOL WINAPI EnumDateFormatsExA( DATEFMT_ENUMPROCEXA, LCID, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumDateFormatsExW( DATEFMT_ENUMPROCEXW, LCID, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesA( LANGGROUPLOCALE_ENUMPROCA, LGRPID, DWORD, LONG_PTR );
|
||
|
WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesW( LANGGROUPLOCALE_ENUMPROCW, LGRPID, DWORD, LONG_PTR );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsA( LANGUAGEGROUP_ENUMPROCA, DWORD, LONG_PTR );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsW( LANGUAGEGROUP_ENUMPROCW, DWORD, LONG_PTR );
|
||
|
WINBASEAPI BOOL WINAPI EnumUILanguagesA( UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR );
|
||
|
WINBASEAPI BOOL WINAPI EnumUILanguagesW( UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR );
|
||
|
WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage( void );
|
||
|
WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage( void );
|
||
|
WINBASEAPI BOOL WINAPI IsValidLanguageGroup( LGRPID, DWORD );
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0600)
|
||
|
WINBASEAPI int WINAPI CompareStringEx( LPCWSTR, DWORD, LPCWSTR, int, LPCWSTR, int, LPNLSVERSIONINFO, LPVOID, LPARAM );
|
||
|
WINBASEAPI int WINAPI CompareStringOrdinal( LPCWSTR, int, LPCWSTR, int, BOOL );
|
||
|
WINBASEAPI BOOL WINAPI EnumCalendarInfoExEx( CALINFO_ENUMPROCEXEX, LPCWSTR, CALID, LPCWSTR, CALTYPE, LPARAM );
|
||
|
WINBASEAPI BOOL WINAPI EnumDateFormatsExEx( DATEFMT_ENUMPROCEXEX, LPCWSTR, DWORD, LPARAM );
|
||
|
WINBASEAPI BOOL WINAPI EnumSystemLocalesEx( LOCALE_ENUMPROCEX, DWORD, LPARAM, LPVOID );
|
||
|
WINBASEAPI BOOL WINAPI EnumTimeFormatsEx( TIMEFMT_ENUMPROCEX, LPCWSTR, DWORD, LPARAM );
|
||
|
WINBASEAPI int WINAPI FindNLSString( LCID, DWORD, LPCWSTR, int, LPCWSTR, int, LPINT );
|
||
|
WINBASEAPI int WINAPI FindNLSStringEx( LPCWSTR, DWORD, LPCWSTR, int, LPCWSTR, int, int, LPINT, LPNLSVERSIONINFO, LPVOID, LPARAM );
|
||
|
WINBASEAPI int WINAPI GetCalendarInfoEx( LPCWSTR, CALID, LPCWSTR, CALTYPE, LPWSTR, int, LPDWORD );
|
||
|
WINBASEAPI int WINAPI GetCurrencyFormatEx( LPCWSTR, DWORD, LPCWSTR, CONST CURRENCYFMTW *, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI GetDateFormatEx( LPCWSTR, DWORD, CONST SYSTEMTIME *, LPCWSTR, LPWSTR, int, LPCWSTR );
|
||
|
WINBASEAPI int WINAPI GetDurationFormat( LCID, DWORD, CONST SYSTEMTIME *, ULONGLONG, LPCWSTR, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI GetDurationFormatEx( LPCWSTR, DWORD, CONST SYSTEMTIME *, ULONGLONG, LPCWSTR, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetFileMUIInfo( DWORD, PCWSTR, PFILEMUIINFO, DWORD * );
|
||
|
WINBASEAPI BOOL WINAPI GetFileMUIPath( DWORD, PCWSTR, PWSTR, PULONG, PWSTR, PULONG, PULONGLONG );
|
||
|
WINBASEAPI int WINAPI GetLocaleInfoEx( LPCWSTR, LCTYPE, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetNLSVersionEx( NLS_FUNCTION, LPCWSTR, LPNLSVERSIONINFOEX );
|
||
|
WINBASEAPI int WINAPI GetNumberFormatEx( LPCWSTR, DWORD, LPCWSTR, CONST NUMBERFMTW *, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetProcessPreferredUILanguages( DWORD, PULONG, PZZWSTR, PULONG );
|
||
|
WINBASEAPI int WINAPI GetStringScripts( DWORD, LPCWSTR, int, LPWSTR, int );
|
||
|
WINBASEAPI int WINAPI GetSystemDefaultLocaleName( LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetSystemPreferredUILanguages( DWORD, PULONG, PZZWSTR, PULONG );
|
||
|
WINBASEAPI BOOL WINAPI GetThreadPreferredUILanguages( DWORD, PULONG, PZZWSTR, PULONG );
|
||
|
WINBASEAPI LANGID WINAPI GetThreadUILanguage( void );
|
||
|
WINBASEAPI int WINAPI GetTimeFormatEx( LPCWSTR, DWORD, CONST SYSTEMTIME *, LPCWSTR, LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetUILanguageInfo( DWORD, PCZZWSTR, PZZWSTR, PDWORD, PDWORD );
|
||
|
WINBASEAPI int WINAPI GetUserDefaultLocaleName( LPWSTR, int );
|
||
|
WINBASEAPI BOOL WINAPI GetUserPreferredUILanguages( DWORD, PULONG, PZZWSTR, PULONG );
|
||
|
WINBASEAPI BOOL WINAPI IsValidLocaleName( LPCWSTR );
|
||
|
WINBASEAPI int WINAPI LCIDToLocaleName( LCID, LPWSTR, int, DWORD );
|
||
|
WINBASEAPI int WINAPI LCMapStringEx( LPCWSTR, DWORD, LPCWSTR, int, LPWSTR, int, LPNLSVERSIONINFO, LPVOID, LPARAM );
|
||
|
WINBASEAPI LCID WINAPI LocaleNameToLCID( LPCWSTR, DWORD );
|
||
|
WINBASEAPI BOOL WINAPI NotifyUILanguageChange( DWORD, PCWSTR, PCWSTR, DWORD, PDWORD );
|
||
|
WINBASEAPI BOOL WINAPI SetProcessPreferredUILanguages( DWORD, PCZZWSTR, PULONG );
|
||
|
WINBASEAPI BOOL WINAPI SetThreadPreferredUILanguages( DWORD, PCZZWSTR, PULONG );
|
||
|
WINBASEAPI BOOL WINAPI VerifyScripts( DWORD, LPCWSTR, int, LPCWSTR, int );
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0601)
|
||
|
WINBASEAPI int WINAPI FindStringOrdinal( DWORD, LPCWSTR, int, LPCWSTR, int, BOOL );
|
||
|
WINBASEAPI int WINAPI ResolveLocaleName( LPCWSTR, LPWSTR, int );
|
||
|
#endif
|
||
|
|
||
|
/* Functions in NORMALIZ.DLL */
|
||
|
#if (WINVER >= 0x0600)
|
||
|
WINNORMALIZEAPI BOOL WINAPI IsNormalizedString( NORM_FORM, LPCWSTR, int );
|
||
|
WINNORMALIZEAPI int WINAPI NormalizeString( NORM_FORM, LPCWSTR, int, LPWSTR, int );
|
||
|
#endif
|
||
|
|
||
|
/* Map generic function names to the appropriate ANSI or Unicode version. */
|
||
|
#ifdef UNICODE
|
||
|
#define CompareString CompareStringW
|
||
|
#define EnumCalendarInfo EnumCalendarInfoW
|
||
|
#define EnumDateFormats EnumDateFormatsW
|
||
|
#define EnumSystemCodePages EnumSystemCodePagesW
|
||
|
#define EnumSystemLocales EnumSystemLocalesW
|
||
|
#define EnumTimeFormats EnumTimeFormatsW
|
||
|
#define FoldString FoldStringW
|
||
|
#define GetCPInfoEx GetCPInfoExW
|
||
|
#define GetCurrencyFormat GetCurrencyFormatW
|
||
|
#define GetDateFormat GetDateFormatW
|
||
|
#define GetGeoInfo GetGeoInfoW
|
||
|
#define GetLocaleInfo GetLocaleInfoW
|
||
|
#define GetNumberFormat GetNumberFormatW
|
||
|
/* GetStringTypeA() and GetStringTypeW() have different signatures, so the
|
||
|
* generic GetStringType() does not exist.
|
||
|
*/
|
||
|
#define GetStringTypeEx GetStringTypeExW
|
||
|
#define GetTimeFormat GetTimeFormatW
|
||
|
#define LCMapString LCMapStringW
|
||
|
#define SetLocaleInfo SetLocaleInfoW
|
||
|
#if (WINVER >= 0x040A)
|
||
|
#define GetCalendarInfo GetCalendarInfoW
|
||
|
#define SetCalendarInfo SetCalendarInfoW
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define EnumCalendarInfoEx EnumCalendarInfoExW
|
||
|
#define EnumDateFormatsEx EnumDateFormatsExW
|
||
|
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
|
||
|
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
|
||
|
#define EnumUILanguages EnumUILanguagesW
|
||
|
#endif
|
||
|
#else
|
||
|
#define CompareString CompareStringA
|
||
|
#define EnumCalendarInfo EnumCalendarInfoA
|
||
|
#define EnumDateFormats EnumDateFormatsA
|
||
|
#define EnumSystemCodePages EnumSystemCodePagesA
|
||
|
#define EnumSystemLocales EnumSystemLocalesA
|
||
|
#define EnumTimeFormats EnumTimeFormatsA
|
||
|
#define FoldString FoldStringA
|
||
|
#define GetCPInfoEx GetCPInfoExA
|
||
|
#define GetCurrencyFormat GetCurrencyFormatA
|
||
|
#define GetDateFormat GetDateFormatA
|
||
|
#define GetGeoInfo GetGeoInfoA
|
||
|
#define GetLocaleInfo GetLocaleInfoA
|
||
|
#define GetNumberFormat GetNumberFormatA
|
||
|
/* GetStringTypeA() and GetStringTypeW() have different signatures, so the
|
||
|
* generic GetStringType() does not exist.
|
||
|
*/
|
||
|
#define GetStringTypeEx GetStringTypeExA
|
||
|
#define GetTimeFormat GetTimeFormatA
|
||
|
#define LCMapString LCMapStringA
|
||
|
#define SetLocaleInfo SetLocaleInfoA
|
||
|
#if (WINVER >= 0x040A)
|
||
|
#define GetCalendarInfo GetCalendarInfoA
|
||
|
#define SetCalendarInfo SetCalendarInfoA
|
||
|
#endif
|
||
|
#if (WINVER >= 0x0500)
|
||
|
#define EnumCalendarInfoEx EnumCalendarInfoExA
|
||
|
#define EnumDateFormatsEx EnumDateFormatsExA
|
||
|
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
|
||
|
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
|
||
|
#define EnumUILanguages EnumUILanguagesA
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /* extern "C" */
|
||
|
#endif
|
||
|
|
||
|
#endif /* _WINNLS_ */
|