// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0 > or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT >, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! Procedure declarations, constant definitions, and macros for the NLS component.
use ctypes::c_int;
use shared::basetsd::LONG_PTR;
use shared::guiddef::GUID;
use shared::minwindef::{
BOOL, BYTE, DWORD, INT, LPARAM, LPDWORD, LPINT, LPVOID, LPWORD, MAX_PATH, PDWORD, PULONG,
UINT,
};
use um::minwinbase::SYSTEMTIME;
use um::winnt::{
CHAR, LANGID, LCID, LONG, LPCSTR, LPCWCH, LPCWSTR, LPSTR, LPWSTR, PCNZCH, PCNZWCH, PCWSTR,
PCZZWSTR, PULONGLONG, PWSTR, PZZWSTR, ULONGLONG, WCHAR,
};
pub const MAX_LEADBYTES: usize =
12 ;
pub const MAX_DEFAULTCHAR: usize =
2 ;
pub const MB_PRECOMPOSED: DWORD =
0 x00000001;
pub const MB_COMPOSITE: DWORD =
0 x00000002;
pub const MB_USEGLYPHCHARS: DWORD =
0 x00000004;
pub const MB_ERR_INVALID_CHARS: DWORD =
0 x00000008;
pub const WC_COMPOSITECHECK: DWORD =
0 x00000200;
pub const WC_DISCARDNS: DWORD =
0 x00000010;
pub const WC_SEPCHARS: DWORD =
0 x00000020;
pub const WC_DEFAULTCHAR: DWORD =
0 x00000040;
pub const WC_ERR_INVALID_CHARS: DWORD =
0 x00000080;
pub const WC_NO_BEST_FIT_CHARS: DWORD =
0 x00000400;
pub const CP_ACP: DWORD =
0 ;
pub const CP_OEMCP: DWORD =
1 ;
pub const CP_MACCP: DWORD =
2 ;
pub const CP_THREAD_ACP: DWORD =
3 ;
pub const CP_SYMBOL: DWORD =
42 ;
pub const CP_UTF7: DWORD =
65000 ;
pub const CP_UTF8: DWORD =
65001 ;
pub type LGRPID = DWORD;
pub type LCTYPE = DWORD;
pub type CALTYPE = DWORD;
pub type CALID = DWORD;
STRUCT !{
struct CPINFO {
MaxCharSize: UINT,
DefaultChar: [BYTE; MAX_DEFAULTCHAR],
LeadByte: [BYTE; MAX_LEADBYTES],
}}
pub type LPCPINFO = *
mut CPINFO;
STRUCT !{
struct CPINFOEXA {
MaxCharSize: UINT,
DefaultChar: [BYTE; MAX_DEFAULTCHAR],
LeadByte: [BYTE; MAX_LEADBYTES],
UnicodeDefaultChar: WCHAR,
CodePage: UINT,
CodePageName: [CHAR; MAX_PATH],
}}
pub type LPCPINFOEXA = *
mut CPINFOEXA;
STRUCT !{
struct CPINFOEXW {
MaxCharSize: UINT,
DefaultChar: [BYTE; MAX_DEFAULTCHAR],
LeadByte: [BYTE; MAX_LEADBYTES],
UnicodeDefaultChar: WCHAR,
CodePage: UINT,
CodePageName: [WCHAR; MAX_PATH],
}}
pub type LPCPINFOEXW = *
mut CPINFOEXW;
STRUCT !{
struct NUMBERFMTA {
NumDigits: UINT,
LeadingZero: UINT,
Grouping: UINT,
lpDecimalSep: LPSTR,
lpThousandSep: LPSTR,
NegativeOrder: UINT,
}}
pub type LPNUMBERFMTA = *
mut NUMBERFMTA;
STRUCT !{
struct NUMBERFMTW {
NumDigits: UINT,
LeadingZero: UINT,
Grouping: UINT,
lpDecimalSep: LPWSTR,
lpThousandSep: LPWSTR,
NegativeOrder: UINT,
}}
pub type LPNUMBERFMTW = *
mut NUMBERFMTW;
STRUCT !{
struct CURRENCYFMTA {
NumDigits: UINT,
LeadingZero: UINT,
Grouping: UINT,
lpDecimalSep: LPSTR,
lpThousandSep: LPSTR,
NegativeOrder: UINT,
PositiveOrder: UINT,
lpCurrencySymbol: LPSTR,
}}
pub type LPCURRENCYFMTA = *
mut CURRENCYFMTA;
STRUCT !{
struct CURRENCYFMTW {
NumDigits: UINT,
LeadingZero: UINT,
Grouping: UINT,
lpDecimalSep: LPWSTR,
lpThousandSep: LPWSTR,
NegativeOrder: UINT,
PositiveOrder: UINT,
lpCurrencySymbol: LPWSTR,
}}
pub type LPCURRENCYFMTW = *
mut CURRENCYFMTW;
pub type NLS_FUNCTION = DWORD;
STRUCT !{
struct NLSVERSIONINFO {
dwNLSVersionInfoSize: DWORD,
dwNLSVersion: DWORD,
dwDefinedVersion: DWORD,
dwEffectiveId: DWORD,
guidCustomVersion: GUID,
}}
pub type LPNLSVERSIONINFO = *
mut NLSVERSIONINFO;
STRUCT !{
struct NLSVERSIONINFOEX {
dwNLSVersionInfoSize: DWORD,
dwNLSVersion: DWORD,
dwDefinedVersion: DWORD,
dwEffectiveId: DWORD,
guidCustomVersion: GUID,
}}
pub type LPNLSVERSIONINFOEX = *
mut NLSVERSIONINFOEX;
pub type GEOID = LONG;
pub type GEOTYPE = DWORD;
pub type GEOCLASS = DWORD;
ENUM !{
enum NORM_FORM {
NormalizationOther =
0 ,
NormalizationC =
0 x1,
NormalizationD =
0 x2,
NormalizationKC =
0 x5,
NormalizationKD =
0 x6,
}}
FN !{stdcall LANGUAGEGROUP_ENUMPROCA(
LGRPID,
LPSTR,
LPSTR,
DWORD,
LONG_PTR,
) -> BOOL}
FN !{stdcall LANGGROUPLOCALE_ENUMPROCA(
LGRPID,
LCID,
LPSTR,
LONG_PTR,
) -> BOOL}
FN !{stdcall UILANGUAGE_ENUMPROCA(
LPSTR,
LONG_PTR,
) -> BOOL}
FN !{stdcall CODEPAGE_ENUMPROCA(
LPSTR,
) -> BOOL}
FN !{stdcall DATEFMT_ENUMPROCA(
LPSTR,
) -> BOOL}
FN !{stdcall DATEFMT_ENUMPROCEXA(
LPSTR,
CALID,
) -> BOOL}
FN !{stdcall TIMEFMT_ENUMPROCA(
LPSTR,
) -> BOOL}
FN !{stdcall CALINFO_ENUMPROCA(
LPSTR,
) -> BOOL}
FN !{stdcall CALINFO_ENUMPROCEXA(
LPSTR,
CALID,
) -> BOOL}
FN !{stdcall LOCALE_ENUMPROCA(
LPSTR,
) -> BOOL}
FN !{stdcall LOCALE_ENUMPROCW(
LPWSTR,
) -> BOOL}
FN !{stdcall LANGUAGEGROUP_ENUMPROCW(
LGRPID,
LPWSTR,
LPWSTR,
DWORD,
LONG_PTR,
) -> BOOL}
FN !{stdcall LANGGROUPLOCALE_ENUMPROCW(
LGRPID,
LCID,
LPWSTR,
LONG_PTR,
) -> BOOL}
FN !{stdcall UILANGUAGE_ENUMPROCW(
LPWSTR,
LONG_PTR,
) -> BOOL}
FN !{stdcall CODEPAGE_ENUMPROCW(
LPWSTR,
) -> BOOL}
FN !{stdcall DATEFMT_ENUMPROCW(
LPWSTR,
) -> BOOL}
FN !{stdcall DATEFMT_ENUMPROCEXW(
LPWSTR,
CALID,
) -> BOOL}
FN !{stdcall TIMEFMT_ENUMPROCW(
LPWSTR,
) -> BOOL}
FN !{stdcall CALINFO_ENUMPROCW(
LPWSTR,
) -> BOOL}
FN !{stdcall CALINFO_ENUMPROCEXW(
LPWSTR,
CALID,
) -> BOOL}
FN !{stdcall GEO_ENUMPROC(
GEOID,
) -> BOOL}
STRUCT !{
struct FILEMUIINFO {
dwSize: DWORD,
dwVersion: DWORD,
dwFileType: DWORD,
pChecksum: [BYTE;
16 ],
pServiceChecksum: [BYTE;
16 ],
dwLanguageNameOffset: DWORD,
dwTypeIDMainSize: DWORD,
dwTypeIDMainOffset: DWORD,
dwTypeNameMainOffset: DWORD,
dwTypeIDMUISize: DWORD,
dwTypeIDMUIOffset: DWORD,
dwTypeNameMUIOffset: DWORD,
abBuffer: [BYTE;
8 ],
}}
pub type PFILEMUIINFO = *
mut FILEMUIINFO;
FN !{stdcall CALINFO_ENUMPROCEXEX(
LPWSTR,
CALID,
LPWSTR,
LPARAM,
) -> BOOL}
FN !{stdcall DATEFMT_ENUMPROCEXEX(
LPWSTR,
CALID,
LPARAM,
) -> BOOL}
FN !{stdcall TIMEFMT_ENUMPROCEX(
LPWSTR,
LPARAM,
) -> BOOL}
FN !{stdcall LOCALE_ENUMPROCEX(
LPWSTR,
DWORD,
LPARAM,
) -> BOOL}
extern "system" {
pub fn CompareStringA(
Locale: LCID,
dwCmpFlags: DWORD,
lpString1: PCNZCH,
cchCount1: c_int,
lpString2: PCNZCH,
cchCount2: c_int,
) -> c_int;
pub fn CompareStringEx(
lpLocaleName: LPCWSTR,
dwCmpFlags: DWORD,
lpString1: LPCWCH,
cchCount1: c_int,
lpString2: LPCWCH,
cchCount2: c_int,
lpVersionInformation: LPNLSVERSIONINFO,
lpReserved: LPVOID,
lParam: LPARAM,
) -> c_int;
pub fn CompareStringW(
Locale: LCID,
dwCmpFlags: DWORD,
lpString1: PCNZWCH,
cchCount1: c_int,
lpString2: PCNZWCH,
cchCount2: c_int,
) -> c_int;
pub fn ConvertDefaultLocale(Locale: LCID) -> LCID;
pub fn EnumCalendarInfoA(
lpCalInfoEnumProc: CALINFO_ENUMPROCA,
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
) -> BOOL;
pub fn EnumCalendarInfoExA(
lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXA,
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
) -> BOOL;
pub fn EnumCalendarInfoExEx(
pCalInfoEnumProcExEx: CALINFO_ENUMPROCEXEX,
lpLocaleName: LPCWSTR,
Calendar: CALID,
lpReserved: LPCWSTR,
CalType: CALTYPE,
lParam: LPARAM,
) -> BOOL;
pub fn EnumCalendarInfoExW(
lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXW,
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
) -> BOOL;
pub fn EnumCalendarInfoW(
lpCalInfoEnumProc: CALINFO_ENUMPROCW,
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
) -> BOOL;
pub fn EnumDateFormatsA(
lpDateFmtEnumProc: DATEFMT_ENUMPROCA,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumDateFormatsExA(
lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXA,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumDateFormatsExEx(
lpDateFmtEnumProcExEx: DATEFMT_ENUMPROCEXEX,
lpLocaleName: LPCWSTR,
dwFlags: DWORD,
lParam: LPARAM,
) -> BOOL;
pub fn EnumDateFormatsExW(
lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXW,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumDateFormatsW(
lpDateFmtEnumProc: DATEFMT_ENUMPROCW,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumLanguageGroupLocalesA(
lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCA,
LanguageGroup: LGRPID,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn EnumLanguageGroupLocalesW(
lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCW,
LanguageGroup: LGRPID,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn EnumSystemCodePagesA(
lpCodePageEnumProc: CODEPAGE_ENUMPROCA,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumSystemCodePagesW(
lpCodePageEnumProc: CODEPAGE_ENUMPROCW,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumSystemGeoID(
GeoClass: GEOCLASS,
ParentGeoId: GEOID,
lpGeoEnumProc: GEO_ENUMPROC,
) -> BOOL;
pub fn EnumSystemLanguageGroupsA(
lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCA,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn EnumSystemLanguageGroupsW(
lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCW,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn EnumSystemLocalesA(
lpLocaleEnumProc: LOCALE_ENUMPROCA,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumSystemLocalesEx(
lpLocaleEnumProcEx: LOCALE_ENUMPROCEX,
dwFlags: DWORD,
lParam: LPARAM,
lpReserved: LPVOID,
) -> BOOL;
pub fn EnumSystemLocalesW(
lpLocaleEnumProc: LOCALE_ENUMPROCW,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumTimeFormatsA(
lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumTimeFormatsEx(
lpTimeFmtEnumProcEx: TIMEFMT_ENUMPROCEX,
lpLocaleName: LPCWSTR,
dwFlags: DWORD,
lParam: LPARAM,
) -> BOOL;
pub fn EnumTimeFormatsW(
lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW,
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn EnumUILanguagesA(
lpUILanguageEnumProc: UILANGUAGE_ENUMPROCA,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn EnumUILanguagesW(
lpUILanguageEnumProc: UILANGUAGE_ENUMPROCW,
dwFlags: DWORD,
lParam: LONG_PTR,
) -> BOOL;
pub fn FindNLSString(
Locale: LCID,
dwFindNLSStringFlags: DWORD,
lpStringSource: LPCWSTR,
cchSource: c_int,
lpStringValue: LPCWSTR,
cchValue: c_int,
pcchFound: LPINT,
) -> c_int;
pub fn FindNLSStringEx(
lpLocaleName: LPCWSTR,
dwFindNLSStringFlags: DWORD,
lpStringSource: LPCWSTR,
cchSource: c_int,
lpStringValue: LPCWSTR,
cchValue: c_int,
pcchFound: LPINT,
lpVersionInformation: LPNLSVERSIONINFO,
lpReserved: LPVOID,
sortHandle: LPARAM,
) -> c_int;
pub fn FoldStringA(
dwMapFlags: DWORD,
lpSrcStr: LPCSTR,
cchSrc: c_int,
lpDestStr: LPSTR,
cchDest: c_int,
) -> c_int;
pub fn GetACP() -> UINT;
pub fn GetCPInfo(
CodePage: UINT,
lpCPInfo: LPCPINFO,
) -> BOOL;
pub fn GetCPInfoExA(
CodePage: UINT,
dwFlags: DWORD,
lpCPInfoEx: LPCPINFOEXA,
) -> BOOL;
pub fn GetCPInfoExW(
CodePage: UINT,
dwFlags: DWORD,
lpCPInfoEx: LPCPINFOEXW,
) -> BOOL;
pub fn GetCalendarInfoA(
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
lpCalData: LPSTR,
cchData: c_int,
lpValue: LPDWORD,
) -> c_int;
pub fn GetCalendarInfoEx(
lpLocaleName: LPCWSTR,
Calendar: CALID,
lpReserved: LPCWSTR,
CalType: CALTYPE,
lpCalData: LPWSTR,
cchData: c_int,
lpValue: LPDWORD,
) -> c_int;
pub fn GetCalendarInfoW(
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
lpCalData: LPWSTR,
cchData: c_int,
lpValue: LPDWORD,
) -> c_int;
pub fn GetCurrencyFormatA(
Locale: LCID,
dwFlags: DWORD,
lpValue: LPCSTR,
lpFormat: *
const CURRENCYFMTA,
lpCurrencyStr: LPSTR,
cchCurrency: c_int,
) -> c_int;
pub fn GetCurrencyFormatEx(
lpLocaleName: LPCWSTR,
dwFlags: DWORD,
lpValue: LPCWSTR,
lpFormat: *
const CURRENCYFMTW,
lpCurrencyStr: LPWSTR,
cchCurrency: c_int,
) -> c_int;
pub fn GetCurrencyFormatW(
Locale: LCID,
dwFlags: DWORD,
lpValue: LPCWSTR,
lpFormat: *
const CURRENCYFMTW,
lpCurrencyStr: LPWSTR,
cchCurrency: c_int,
) -> c_int;
pub fn GetDurationFormat(
Locale: LCID,
dwFlags: DWORD,
lpDuration: *
const SYSTEMTIME,
ullDuration: ULONGLONG,
lpFormat: LPCWSTR,
lpDurationStr: LPWSTR,
cchDuration: c_int,
) -> c_int;
pub fn GetDurationFormatEx(
lpLocaleName: LPCWSTR,
dwFlags: DWORD,
lpDuration: *
const SYSTEMTIME,
ullDuration: ULONGLONG,
lpFormat: LPCWSTR,
lpDurationStr: LPWSTR,
cchDuration: c_int,
) -> c_int;
pub fn GetFileMUIInfo(
dwFlags: DWORD,
pcwszFilePath: PCWSTR,
pFileMUIInfo: PFILEMUIINFO,
pcbFileMUIInfo: *
mut DWORD,
) -> BOOL;
pub fn GetFileMUIPath(
dwFlags: DWORD,
pcwszFilePath: PCWSTR,
pwszLanguage: PWSTR,
pcchLanguage: PULONG,
pwszFileMUIPath: PWSTR,
pcchFileMUIPath: PULONG,
pululEnumerator: PULONGLONG,
) -> BOOL;
pub fn GetGeoInfoA(
Location: GEOID,
GeoType: GEOTYPE,
lpGeoData: LPSTR,
cchData: c_int,
LangId: LANGID,
) -> c_int;
pub fn GetGeoInfoW(
Location: GEOID,
GeoType: GEOTYPE,
lpGeoData: LPWSTR,
cchData: c_int,
LangId: LANGID,
) -> c_int;
pub fn GetLocaleInfoA(
Locale: LCID,
LCType: LCTYPE,
lpLCData: LPSTR,
cchData: c_int,
) -> c_int;
pub fn GetLocaleInfoEx(
lpLocaleName: LPCWSTR,
LCType: LCTYPE,
lpLCData: LPWSTR,
cchData: c_int,
) -> c_int;
pub fn GetLocaleInfoW(
Locale: LCID,
LCType: LCTYPE,
lpLCData: LPWSTR,
cchData: c_int,
) -> c_int;
pub fn GetNLSVersion(
Function: NLS_FUNCTION,
Locale: LCID,
lpVersionInformation: LPNLSVERSIONINFO,
) -> BOOL;
pub fn GetNLSVersionEx(
function: NLS_FUNCTION,
lpLocaleName: LPCWSTR,
lpVersionInformation: LPNLSVERSIONINFOEX,
) -> BOOL;
pub fn GetNumberFormatA(
Locale: LCID,
dwFlags: DWORD,
lpValue: LPCSTR,
lpFormat: *
const NUMBERFMTA,
lpNumberStr: LPSTR,
cchNumber: c_int,
) -> c_int;
pub fn GetNumberFormatEx(
lpLocaleName: LPCWSTR,
dwFlags: DWORD,
lpValue: LPCWSTR,
lpFormat: *
const NUMBERFMTW,
lpNumberStr: LPWSTR,
cchNumber: c_int,
) -> c_int;
pub fn GetNumberFormatW(
Locale: LCID,
dwFlags: DWORD,
lpValue: LPCWSTR,
lpFormat: *
const NUMBERFMTW,
lpNumberStr: LPWSTR,
cchNumber: c_int,
) -> c_int;
pub fn GetOEMCP() -> UINT;
pub fn GetProcessPreferredUILanguages(
dwFlags: DWORD,
pulNumLanguages: PULONG,
pwszLanguagesBuffer: PZZWSTR,
pcchLanguagesBuffer: PULONG,
) -> BOOL;
pub fn GetStringScripts(
dwFlags: DWORD,
lpString: LPCWSTR,
cchString: c_int,
lpScripts: LPWSTR,
cchScripts: c_int,
) -> c_int;
pub fn GetStringTypeA(
Locale: LCID,
dwInfoType: DWORD,
lpSrcStr: LPCSTR,
cchSrc: c_int,
lpCharType: LPWORD,
) -> BOOL;
pub fn GetStringTypeExA(
Locale: LCID,
dwInfoType: DWORD,
lpSrcStr: LPCSTR,
cchSrc: c_int,
lpCharType: LPWORD,
) -> BOOL;
pub fn GetStringTypeW(
dwInfoType: DWORD,
lpSrcStr: LPCWCH,
cchSrc: c_int,
lpCharType: LPWORD,
) -> BOOL;
pub fn GetSystemDefaultLCID() -> LCID;
pub fn GetSystemDefaultLangID() -> LANGID;
pub fn GetSystemDefaultLocaleName(
lpLocaleName: LPWSTR,
cchLocaleName: c_int,
) -> c_int;
pub fn GetSystemDefaultUILanguage() -> LANGID;
pub fn GetSystemPreferredUILanguages(
dwFlags: DWORD,
pulNumLanguages: PULONG,
pwszLanguagesBuffer: PZZWSTR,
pcchLanguagesBuffer: PULONG,
) -> BOOL;
pub fn GetThreadLocale() -> LCID;
pub fn GetThreadPreferredUILanguages(
dwFlags: DWORD,
pulNumLanguages: PULONG,
pwszLanguagesBuffer: PZZWSTR,
pcchLanguagesBuffer: PULONG,
) -> BOOL;
pub fn GetThreadUILanguage() -> LANGID;
pub fn GetUILanguageInfo(
dwFlags: DWORD,
pwmszLanguage: PCZZWSTR,
pwszFallbackLanguages: PZZWSTR,
pcchFallbackLanguages: PDWORD,
pAttributes: PDWORD,
) -> BOOL;
pub fn GetUserDefaultLCID() -> LCID;
pub fn GetUserDefaultLangID() -> LANGID;
pub fn GetUserDefaultLocaleName(
lpLocaleName: LPWSTR,
cchLocaleName: c_int,
) -> c_int;
pub fn GetUserDefaultUILanguage() -> LANGID;
pub fn GetUserGeoID(GeoClass: GEOCLASS) -> GEOID;
pub fn GetUserPreferredUILanguages(
dwFlags: DWORD,
pulNumLanguages: PULONG,
pwszLanguagesBuffer: PZZWSTR,
pcchLanguagesBuffer: PULONG,
) -> BOOL;
pub fn IsDBCSLeadByte(
TestChar: BYTE,
) -> BOOL;
pub fn IsDBCSLeadByteEx(
CodePage: UINT,
TestChar: BYTE,
) -> BOOL;
pub fn IsNLSDefinedString(
Function: NLS_FUNCTION,
dwFlags: DWORD,
lpVersionInformation: LPNLSVERSIONINFO,
lpString: LPCWSTR,
cchStr: INT,
) -> BOOL;
pub fn IsNormalizedString(
NormForm: NORM_FORM,
lpString: LPCWSTR,
cwLength: c_int,
) -> BOOL;
pub fn IsValidCodePage(
CodePage: UINT,
) -> BOOL;
pub fn IsValidLanguageGroup(
LanguageGroup: LGRPID,
dwFlags: DWORD,
) -> BOOL;
pub fn IsValidLocale(
Locale: LCID,
dwFlags: DWORD,
) -> BOOL;
pub fn IsValidLocaleName(
lpLocaleName: LPCWSTR,
) -> BOOL;
pub fn IsValidNLSVersion(
function: NLS_FUNCTION,
lpLocaleName: LPCWSTR,
lpVersionInformation: LPNLSVERSIONINFOEX,
) -> BOOL;
pub fn LCIDToLocaleName(
Locale: LCID,
lpName: LPWSTR,
cchName: c_int,
dwFlags: DWORD,
) -> c_int;
pub fn LCMapStringA(
Locale: LCID,
dwMapFlags: DWORD,
lpSrcStr: LPCSTR,
cchSrc: c_int,
lpDestStr: LPSTR,
cchDest: c_int,
) -> c_int;
pub fn LCMapStringEx(
lpLocaleName: LPCWSTR,
dwMapFlags: DWORD,
lpSrcStr: LPCWSTR,
cchSrc: c_int,
lpDestStr: LPWSTR,
cchDest: c_int,
lpVersionInformation: LPNLSVERSIONINFO,
lpReserved: LPVOID,
sortHandle: LPARAM,
) -> c_int;
pub fn LCMapStringW(
Locale: LCID,
dwMapFlags: DWORD,
lpSrcStr: LPCWSTR,
cchSrc: c_int,
lpDestStr: LPWSTR,
cchDest: c_int,
) -> c_int;
pub fn LocaleNameToLCID(
lpName: LPCWSTR,
dwFlags: DWORD,
) -> LCID;
pub fn NormalizeString(
NormForm: NORM_FORM,
lpSrcString: LPCWSTR,
cwSrcLength: c_int,
lpDstString: LPWSTR,
cwDstLength: c_int,
) -> c_int;
pub fn NotifyUILanguageChange(
dwFlags: DWORD,
pcwstrNewLanguage: PCWSTR,
pcwstrPreviousLanguage: PCWSTR,
dwReserved: DWORD,
pdwStatusRtrn: PDWORD,
) -> BOOL;
pub fn ResolveLocaleName(
lpNameToResolve: LPCWSTR,
lpLocaleName: LPWSTR,
cchLocaleName: c_int,
) -> c_int;
pub fn SetCalendarInfoA(
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
lpCalData: LPCSTR,
) -> BOOL;
pub fn SetCalendarInfoW(
Locale: LCID,
Calendar: CALID,
CalType: CALTYPE,
lpCalData: LPCWSTR,
) -> BOOL;
pub fn SetLocaleInfoA(
Locale: LCID,
LCType: LCTYPE,
lpLCData: LPCSTR,
) -> BOOL;
pub fn SetLocaleInfoW(
Locale: LCID,
LCType: LCTYPE,
lpLCData: LPCWSTR,
) -> BOOL;
pub fn SetProcessPreferredUILanguages(
dwFlags: DWORD,
pwszLanguagesBuffer: PCZZWSTR,
pulNumLanguages: PULONG,
) -> BOOL;
pub fn SetThreadLocale(Locale: LCID) -> BOOL;
pub fn SetThreadPreferredUILanguages(
dwFlags: DWORD,
pwszLanguagesBuffer: PCZZWSTR,
pulNumLanguages: PULONG,
) -> BOOL;
pub fn SetThreadUILanguage(LangId: LANGID) -> LANGID;
pub fn SetUserGeoID(GeoId: GEOID) -> BOOL;
pub fn VerifyScripts(
dwFlags: DWORD,
lpLocaleScripts: LPCWSTR,
cchLocaleScripts: c_int,
lpTestScripts: LPCWSTR,
cchTestScripts: c_int,
) -> BOOL;
}
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-06-18)
¤
*© Formatika GbR, Deutschland