#pragma once
#include <corecrt.h>
_CRT_BEGIN_C_HEADER
__pragma
(pack(push,
8
))
extern
"C"
{
#define _MAX_ITOSTR_BASE16_COUNT (8 + 1)
#define _MAX_ITOSTR_BASE10_COUNT (1 + 10 + 1)
#define _MAX_ITOSTR_BASE8_COUNT (11 + 1)
#define _MAX_ITOSTR_BASE2_COUNT (32 + 1)
#define _MAX_LTOSTR_BASE16_COUNT (8 + 1)
#define _MAX_LTOSTR_BASE10_COUNT (1 + 10 + 1)
#define _MAX_LTOSTR_BASE8_COUNT (11 + 1)
#define _MAX_LTOSTR_BASE2_COUNT (32 + 1)
#define _MAX_ULTOSTR_BASE16_COUNT (8 + 1)
#define _MAX_ULTOSTR_BASE10_COUNT (10 + 1)
#define _MAX_ULTOSTR_BASE8_COUNT (11 + 1)
#define _MAX_ULTOSTR_BASE2_COUNT (32 + 1)
#define _MAX_I64TOSTR_BASE16_COUNT (16 + 1)
#define _MAX_I64TOSTR_BASE10_COUNT (1 + 19 + 1)
#define _MAX_I64TOSTR_BASE8_COUNT (22 + 1)
#define _MAX_I64TOSTR_BASE2_COUNT (64 + 1)
#define _MAX_U64TOSTR_BASE16_COUNT (16 + 1)
#define _MAX_U64TOSTR_BASE10_COUNT (20 + 1)
#define _MAX_U64TOSTR_BASE8_COUNT (22 + 1)
#define _MAX_U64TOSTR_BASE2_COUNT (64 + 1)
#if _CRT_FUNCTIONS_REQUIRED
_Success_(return == 0)
_Check_return_wat_
_ACRTIMP errno_t __cdecl _itow_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, _itow_s,
_In_ int, _Value,
wchar_t, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
int
,
wchar_t
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
wchar_t*, __RETURN_POLICY_DST, _ACRTIMP, _itow,
_In_ int, _Value,
_Pre_notnull_ _Post_z_, wchar_t, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_itow_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
wchar_t
*
__cdecl
(
int
,
wchar_t
*
,
int
);
_Success_(return == 0)
_Check_return_wat_
_ACRTIMP errno_t __cdecl _ltow_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, _ltow_s,
_In_ long, _Value,
wchar_t, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
long
,
wchar_t
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
wchar_t*, __RETURN_POLICY_DST, _ACRTIMP, _ltow,
_In_ long, _Value,
_Pre_notnull_ _Post_z_, wchar_t, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ltow_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
wchar_t
*
__cdecl
(
long
,
wchar_t
*
,
int
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _ultow_s(
__declspec
(dllimport)
__cdecl
(
_In_ unsigned long _Value,
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
errno_t, _ultow_s,
_In_ unsigned long, _Value,
wchar_t, _Buffer,
_In_ int, _Radix
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
unsigned
long
,
wchar_t
(&
)[
],
int
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
wchar_t*, __RETURN_POLICY_DST, _ACRTIMP, _ultow,
_In_ unsigned long, _Value,
_Pre_notnull_ _Post_z_, wchar_t, _Buffer,
_In_ int, _Radix
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ultow_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
wchar_t
*
__cdecl
(
unsigned
long
,
wchar_t
*
,
int
);
_Check_return_
_ACRTIMP double __cdecl wcstod(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr
);
_Check_return_
_ACRTIMP double __cdecl _wcstod_l(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long __cdecl wcstol(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP long __cdecl _wcstol_l(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long long __cdecl wcstoll(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP long long __cdecl _wcstoll_l(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned long __cdecl wcstoul(
__declspec
(dllimport)
unsigned
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned long __cdecl _wcstoul_l(
__declspec
(dllimport)
unsigned
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned long long __cdecl wcstoull(
__declspec
(dllimport)
unsigned
long
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned long long __cdecl _wcstoull_l(
__declspec
(dllimport)
unsigned
long
long
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long double __cdecl wcstold(
__declspec
(dllimport)
long
double
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr
);
_Check_return_
_ACRTIMP long double __cdecl _wcstold_l(
__declspec
(dllimport)
long
double
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP float __cdecl wcstof(
__declspec
(dllimport)
float
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr
);
_Check_return_
_ACRTIMP float __cdecl _wcstof_l(
__declspec
(dllimport)
float
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP double __cdecl _wtof(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ wchar_t const* _String
);
_Check_return_
_ACRTIMP double __cdecl _wtof_l(
__declspec
(dllimport)
double
__cdecl
(
_In_z_ wchar_t const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _wtoi(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ wchar_t const* _String
);
_Check_return_
_ACRTIMP int __cdecl _wtoi_l(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ wchar_t const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long __cdecl _wtol(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ wchar_t const* _String
);
_Check_return_
_ACRTIMP long __cdecl _wtol_l(
__declspec
(dllimport)
long
__cdecl
(
_In_z_ wchar_t const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP long long __cdecl _wtoll(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ wchar_t const* _String
);
_Check_return_
_ACRTIMP long long __cdecl _wtoll_l(
__declspec
(dllimport)
long
long
__cdecl
(
_In_z_ wchar_t const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _i64tow_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
);
_CRT_INSECURE_DEPRECATE(_i64tow_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_i64tow_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP wchar_t* __cdecl _i64tow(
__declspec
(dllimport)
wchar_t
*
__cdecl
(
_Pre_notnull_ _Post_z_ wchar_t* _Buffer,
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _ui64tow_s(
__declspec
(dllimport)
__cdecl
(
_In_ unsigned __int64 _Value,
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
);
_CRT_INSECURE_DEPRECATE(_ui64tow_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_ui64tow_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP wchar_t* __cdecl _ui64tow(
__declspec
(dllimport)
wchar_t
*
__cdecl
(
_In_ unsigned __int64 _Value,
_Pre_notnull_ _Post_z_ wchar_t* _Buffer,
);
_Check_return_
_ACRTIMP __int64 __cdecl _wtoi64(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ wchar_t const* _String
);
_Check_return_
_ACRTIMP __int64 __cdecl _wtoi64_l(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ wchar_t const* _String,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP __int64 __cdecl _wcstoi64(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP __int64 __cdecl _wcstoi64_l(
__declspec
(dllimport)
__int64
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP unsigned __int64 __cdecl _wcstoui64(
__declspec
(dllimport)
unsigned
__int64
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
);
_Check_return_
_ACRTIMP unsigned __int64 __cdecl _wcstoui64_l(
__declspec
(dllimport)
unsigned
__int64
__cdecl
(
_In_z_ wchar_t const* _String,
_Out_opt_ _Deref_post_z_ wchar_t** _EndPtr,
_In_opt_ _locale_t _Locale
);
#pragma push_macro("_wfullpath")
#undef _wfullpath
_Success_(return != 0)
_Check_return_
_ACRTIMP _CRTALLOCATOR wchar_t* __cdecl _wfullpath(
__declspec
(dllimport)
__declspec
(allocator)
wchar_t
*
__cdecl
(
_Out_writes_opt_z_(_BufferCount) wchar_t* _Buffer,
_In_z_ wchar_t const* _Path,
);
#pragma pop_macro("_wfullpath")
_Check_return_wat_
_ACRTIMP errno_t __cdecl _wmakepath_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
_In_opt_z_ wchar_t const* _Drive,
_In_opt_z_ wchar_t const* _Dir,
_In_opt_z_ wchar_t const* _Filename,
_In_opt_z_ wchar_t const* _Ext
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(
errno_t, _wmakepath_s,
wchar_t, _Buffer,
_In_opt_z_ wchar_t const*, _Drive,
_In_opt_z_ wchar_t const*, _Dir,
_In_opt_z_ wchar_t const*, _Filename,
_In_opt_z_ wchar_t const*, _Ext
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
wchar_t
(&
)[
],
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
const
*
)
throw
() {
return
(
,
,
,
,
,
); } }
#pragma warning(push)
#pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
#pragma warning(disable:
28719
)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
void, __RETURN_POLICY_VOID, _ACRTIMP, _wmakepath,
_Pre_notnull_ _Post_z_, wchar_t, _Buffer,
_In_opt_z_ wchar_t const*, _Drive,
_In_opt_z_ wchar_t const*, _Dir,
_In_opt_z_ wchar_t const*, _Filename,
_In_opt_z_ wchar_t const*, _Ext
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wmakepath_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
void
__cdecl
(
wchar_t
*
,
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
const
*
);
#pragma warning(pop)
_ACRTIMP void __cdecl _wperror(
__declspec
(dllimport)
void
__cdecl
(
_In_opt_z_ wchar_t const* _ErrorMessage
);
_CRT_INSECURE_DEPRECATE(_wsplitpath_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wsplitpath_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP void __cdecl _wsplitpath(
__declspec
(dllimport)
void
__cdecl
(
_In_z_ wchar_t const* _FullPath,
_Pre_maybenull_ _Post_z_ wchar_t* _Drive,
_Pre_maybenull_ _Post_z_ wchar_t* _Dir,
_Pre_maybenull_ _Post_z_ wchar_t* _Filename,
_Pre_maybenull_ _Post_z_ wchar_t* _Ext
);
_ACRTIMP errno_t __cdecl _wsplitpath_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ wchar_t const* _FullPath,
_Out_writes_opt_z_(_DriveCount) wchar_t* _Drive,
_Out_writes_opt_z_(_DirCount) wchar_t* _Dir,
_Out_writes_opt_z_(_FilenameCount) wchar_t* _Filename,
_In_ size_t _FilenameCount,
_Out_writes_opt_z_(_ExtCount) wchar_t* _Ext,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(
errno_t, _wsplitpath_s,
wchar_t, _Path
)
extern
"C++"
{
template
<
,
,
,
>
inline
__cdecl
(
wchar_t
const
*
,
wchar_t
(&
)[
],
wchar_t
(&
)[
],
wchar_t
(&
)[
],
wchar_t
(&
)[
] )
throw
() {
return
(
,
,
,
,
,
,
,
,
); } }
#pragma push_macro("_wdupenv_s")
#undef _wdupenv_s
_Check_return_wat_
_DCRTIMP errno_t __cdecl _wdupenv_s(
__declspec
(dllimport)
__cdecl
(
_Outptr_result_buffer_maybenull_(*_BufferCount) _Outptr_result_maybenull_z_ wchar_t** _Buffer,
_Out_opt_ size_t* _BufferCount,
_In_z_ wchar_t const* _VarName
);
#pragma pop_macro("_wdupenv_s")
_Check_return_ _CRT_INSECURE_DEPRECATE(_wdupenv_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wdupenv_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_DCRTIMP wchar_t* __cdecl _wgetenv(
__declspec
(dllimport)
wchar_t
*
__cdecl
(
_In_z_ wchar_t const* _VarName
);
_Success_(return == 0)
_Check_return_wat_
_DCRTIMP errno_t __cdecl _wgetenv_s(
__declspec
(dllimport)
__cdecl
(
_Out_ size_t* _RequiredCount,
_Out_writes_opt_z_(_BufferCount) wchar_t* _Buffer,
_In_ size_t _BufferCount,
_In_z_ wchar_t const* _VarName
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(
_Success_(return == 0)
errno_t, _wgetenv_s,
_Out_ size_t*, _RequiredCount,
wchar_t, _Buffer,
_In_z_ wchar_t const*, _VarName
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
*
,
wchar_t
(&
)[
],
wchar_t
const
*
)
throw
() {
return
(
,
,
,
); } }
_Check_return_
_DCRTIMP int __cdecl _wputenv(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ wchar_t const* _EnvString
);
_Check_return_wat_
_DCRTIMP errno_t __cdecl _wputenv_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ wchar_t const* _Name,
_In_z_ wchar_t const* _Value
);
_DCRTIMP errno_t __cdecl _wsearchenv_s(
__declspec
(dllimport)
__cdecl
(
_In_z_ wchar_t const* _Filename,
_In_z_ wchar_t const* _VarName,
_Out_writes_z_(_BufferCount) wchar_t* _Buffer,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(
errno_t, _wsearchenv_s,
_In_z_ wchar_t const*, _Filename,
_In_z_ wchar_t const*, _VarName,
wchar_t, _ResultPath
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
(&
)[
])
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
void, __RETURN_POLICY_VOID, _DCRTIMP, _wsearchenv,
_In_z_ wchar_t const*, _Filename,
_In_z_ wchar_t const*, _VarName,
_Pre_notnull_ _Post_z_, wchar_t, _ResultPath
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_wsearchenv_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
void
__cdecl
(
wchar_t
const
*
,
wchar_t
const
*
,
wchar_t
*
);
_DCRTIMP int __cdecl _wsystem(
__declspec
(dllimport)
int
__cdecl
(
_In_opt_z_ wchar_t const* _Command
);
#endif // _CRT_FUNCTIONS_REQUIRED