wibo/dll/kernel32/winnls.h

39 lines
1.5 KiB
C++

#pragma once
#include "common.h"
constexpr UINT MAX_DEFAULTCHAR = 2;
constexpr UINT MAX_LEADBYTES = 12;
struct CPINFO {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
};
using LPCPINFO = CPINFO *;
using LOCALE_ENUMPROCA = BOOL(WIN_FUNC *)(LPSTR);
namespace kernel32 {
UINT WIN_FUNC GetACP();
LANGID WIN_FUNC GetSystemDefaultLangID();
LANGID WIN_FUNC GetUserDefaultUILanguage();
BOOL WIN_FUNC GetCPInfo(UINT CodePage, LPCPINFO lpCPInfo);
int WIN_FUNC CompareStringA(LCID Locale, DWORD dwCmpFlags, LPCSTR lpString1, int cchCount1, LPCSTR lpString2,
int cchCount2);
int WIN_FUNC CompareStringW(LCID Locale, DWORD dwCmpFlags, LPCWCH lpString1, int cchCount1, LPCWCH lpString2,
int cchCount2);
BOOL WIN_FUNC IsValidCodePage(UINT CodePage);
BOOL WIN_FUNC IsValidLocale(LCID Locale, DWORD dwFlags);
int WIN_FUNC GetLocaleInfoA(LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData);
int WIN_FUNC GetLocaleInfoW(LCID Locale, LCTYPE LCType, LPWSTR lpLCData, int cchData);
BOOL WIN_FUNC EnumSystemLocalesA(LOCALE_ENUMPROCA lpLocaleEnumProc, DWORD dwFlags);
LCID WIN_FUNC GetUserDefaultLCID();
BOOL WIN_FUNC IsDBCSLeadByte(BYTE TestChar);
BOOL WIN_FUNC IsDBCSLeadByteEx(UINT CodePage, BYTE TestChar);
int WIN_FUNC LCMapStringW(LCID Locale, DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
int WIN_FUNC LCMapStringA(LCID Locale, DWORD dwMapFlags, LPCCH lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest);
} // namespace kernel32