29 #ifndef YCL_MinGW32_INC_MinGW32_h_
30 #define YCL_MinGW32_INC_MinGW32_h_ 1
37 # error "This file is only for MinGW32."
67 inline namespace Windows
97 explicit
DefCvt(const ynothrow, ErrorCode,
err)
104 FormatMessage(ErrorCode) ynothrow;
112 # define YF_Raise_Win32Exception(...) \
114 const auto err(::GetLastError()); \
116 throw platform_ex::Windows::Win32Exception(err, __VA_ARGS__); \
146 return UTF8ToMBCS(str.c_str(), str.length(), cp);
159 return WCSToMBCS(str.c_str(), str.length(), cp);
172 return MBCSToWCS(str.c_str(), str.length(), cp);
190 if(!::RegOpenKeyEx(h_parent, key, 0, KEY_READ, &h_key))
195 ::RegCloseKey(h_key);
std::wstring MBCSToWCS(const char *str, std::size_t len, int cp)
size_t ntctslen(const _tChar *s)
计算简单 NTCTS 长度。
RegisterKey(::HKEY h_parent, const wchar_t *key)
DefGetter(const ynothrow,::HKEY, Key, h_key)}
std::exception Exception
YSLib 异常基类。
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
GSStringTemplate< char >::basic_string string
std::string WCSToMBCS(const wchar_t *str, std::size_t len, int cp)
YF_API bool CheckWine()
判断是否在 Wine 环境下运行。
#define DefCvt(_q, _t,...)
#define YF_Raise_Win32Exception(...)
按 ::GetLastError 的结果和指定参数抛出 Windows::Win32Exception 对象。
YF_API std::string UTF8ToMBCS(const char *, std::size_t, int=CP_ACP)
pair< std::type_index, StyleItem > Key
标识查找样式的键。