19#if _M_AMD64 || _M_ARM || _M_ARM64 || _M_HYBRID
20#define FLS_ALWAYS_AVAILABLE 1
51#define _ACRT_APPLY_TO_LATE_BOUND_MODULES_0 \
52 _APPLY(api_ms_win_core_datetime_l1_1_1, "api-ms-win-core-datetime-l1-1-1" ) \
53 _APPLY(api_ms_win_core_file_l1_2_4, "api-ms-win-core-file-l1-2-4" ) \
54 _APPLY(api_ms_win_core_file_l1_2_2, "api-ms-win-core-file-l1-2-2" ) \
55 _APPLY(api_ms_win_core_localization_l1_2_1, "api-ms-win-core-localization-l1-2-1" ) \
56 _APPLY(api_ms_win_core_localization_obsolete_l1_2_0, "api-ms-win-core-localization-obsolete-l1-2-0") \
57 _APPLY(api_ms_win_core_processthreads_l1_1_2, "api-ms-win-core-processthreads-l1-1-2" ) \
58 _APPLY(api_ms_win_core_string_l1_1_0, "api-ms-win-core-string-l1-1-0" ) \
59 _APPLY(api_ms_win_core_synch_l1_2_0, "api-ms-win-core-synch-l1-2-0" ) \
60 _APPLY(api_ms_win_core_sysinfo_l1_2_1, "api-ms-win-core-sysinfo-l1-2-1" ) \
61 _APPLY(api_ms_win_core_winrt_l1_1_0, "api-ms-win-core-winrt-l1-1-0" ) \
62 _APPLY(api_ms_win_core_xstate_l2_1_0, "api-ms-win-core-xstate-l2-1-0" ) \
63 _APPLY(api_ms_win_rtcore_ntuser_window_l1_1_0, "api-ms-win-rtcore-ntuser-window-l1-1-0" ) \
64 _APPLY(api_ms_win_security_systemfunctions_l1_1_0, "api-ms-win-security-systemfunctions-l1-1-0" ) \
65 _APPLY(ext_ms_win_ntuser_dialogbox_l1_1_0, "ext-ms-win-ntuser-dialogbox-l1-1-0" ) \
66 _APPLY(ext_ms_win_ntuser_windowstation_l1_1_0, "ext-ms-win-ntuser-windowstation-l1-1-0" ) \
67 _APPLY(advapi32, "advapi32" ) \
68 _APPLY(kernel32, "kernel32" ) \
69 _APPLY(kernelbase, "kernelbase" ) \
70 _APPLY(ntdll, "ntdll" ) \
71 _APPLY(api_ms_win_appmodel_runtime_l1_1_2, "api-ms-win-appmodel-runtime-l1-1-2" ) \
72 _APPLY(user32, "user32" )
74#if FLS_ALWAYS_AVAILABLE
76#define _ACRT_APPLY_TO_LATE_BOUND_MODULES_1
80#define _ACRT_APPLY_TO_LATE_BOUND_MODULES_1 \
81 _APPLY(api_ms_win_core_fibers_l1_1_0, "api-ms-win-core-fibers-l1-1-0" )
85#define _ACRT_APPLY_TO_LATE_BOUND_MODULES \
86 _ACRT_APPLY_TO_LATE_BOUND_MODULES_0 \
87 _ACRT_APPLY_TO_LATE_BOUND_MODULES_1 \
89#define _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS_0 \
90 _APPLY(AreFileApisANSI, ({ kernel32 })) \
91 _APPLY(CompareStringEx, ({ api_ms_win_core_string_l1_1_0, kernel32 })) \
92 _APPLY(EnumSystemLocalesEx, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
93 _APPLY(GetActiveWindow, ({ api_ms_win_rtcore_ntuser_window_l1_1_0, user32 })) \
94 _APPLY(GetDateFormatEx, ({ api_ms_win_core_datetime_l1_1_1, kernel32 })) \
95 _APPLY(GetTempPath2W, ({ api_ms_win_core_file_l1_2_4, kernelbase })) \
96 _APPLY(GetEnabledXStateFeatures, ({ api_ms_win_core_xstate_l2_1_0, kernel32 })) \
97 _APPLY(GetLastActivePopup, ({ ext_ms_win_ntuser_dialogbox_l1_1_0, user32 })) \
98 _APPLY(GetLocaleInfoEx, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
99 _APPLY(GetProcessWindowStation, ({ ext_ms_win_ntuser_windowstation_l1_1_0, user32 })) \
100 _APPLY(GetSystemTimePreciseAsFileTime, ({ api_ms_win_core_sysinfo_l1_2_1 })) \
101 _APPLY(GetTimeFormatEx, ({ api_ms_win_core_datetime_l1_1_1, kernel32 })) \
102 _APPLY(GetUserDefaultLocaleName, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
103 _APPLY(GetUserObjectInformationW, ({ ext_ms_win_ntuser_windowstation_l1_1_0, user32 })) \
104 _APPLY(GetXStateFeaturesMask, ({ api_ms_win_core_xstate_l2_1_0, kernel32 })) \
105 _APPLY(InitializeCriticalSectionEx, ({ api_ms_win_core_synch_l1_2_0, kernel32 })) \
106 _APPLY(IsValidLocaleName, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
107 _APPLY(LCMapStringEx, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
108 _APPLY(LCIDToLocaleName, ({ api_ms_win_core_localization_obsolete_l1_2_0, kernel32 })) \
109 _APPLY(LocaleNameToLCID, ({ api_ms_win_core_localization_l1_2_1, kernel32 })) \
110 _APPLY(LocateXStateFeature, ({ api_ms_win_core_xstate_l2_1_0, kernel32 })) \
111 _APPLY(MessageBoxA, ({ ext_ms_win_ntuser_dialogbox_l1_1_0, user32 })) \
112 _APPLY(MessageBoxW, ({ ext_ms_win_ntuser_dialogbox_l1_1_0, user32 })) \
113 _APPLY(RoInitialize, ({ api_ms_win_core_winrt_l1_1_0 })) \
114 _APPLY(RoUninitialize, ({ api_ms_win_core_winrt_l1_1_0 })) \
115 _APPLY(AppPolicyGetProcessTerminationMethod, ({ api_ms_win_appmodel_runtime_l1_1_2 })) \
116 _APPLY(AppPolicyGetThreadInitializationType, ({ api_ms_win_appmodel_runtime_l1_1_2 })) \
117 _APPLY(AppPolicyGetShowDeveloperDiagnostic, ({ api_ms_win_appmodel_runtime_l1_1_2 })) \
118 _APPLY(AppPolicyGetWindowingModel, ({ api_ms_win_appmodel_runtime_l1_1_2 })) \
119 _APPLY(SetThreadStackGuarantee, ({ api_ms_win_core_processthreads_l1_1_2, kernel32 })) \
120 _APPLY(SystemFunction036, ({ api_ms_win_security_systemfunctions_l1_1_0, advapi32 }))
122#if FLS_ALWAYS_AVAILABLE
124#define _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS_1
128#define _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS_1 \
129 _APPLY(FlsAlloc, ({ api_ms_win_core_fibers_l1_1_0, kernel32 })) \
130 _APPLY(FlsFree, ({ api_ms_win_core_fibers_l1_1_0, kernel32 })) \
131 _APPLY(FlsGetValue, ({ api_ms_win_core_fibers_l1_1_0, kernel32 })) \
132 _APPLY(FlsSetValue, ({ api_ms_win_core_fibers_l1_1_0, kernel32 }))
136#define _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS \
137 _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS_0 \
138 _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS_1 \
145 #define _APPLY(_SYMBOL, _NAME) _SYMBOL,
156 #define _APPLY(_SYMBOL, _NAME) _CRT_WIDE(_NAME),
164 #define _APPLY(_FUNCTION, _MODULES) _CRT_CONCATENATE(_FUNCTION, _id),
172 #define _APPLY(_FUNCTION, _MODULES) \
173 using _CRT_CONCATENATE(_FUNCTION, _pft) = decltype(_FUNCTION)*;
193 void*
const encoded_nullptr = __crt_fast_encode_pointer(
nullptr);
229 return reinterpret_cast<void*
>(
static_cast<uintptr_t>(-1));
265 return cached_handle;
286 if (
HMODULE const cached_handle = __crt_interlocked_exchange_pointer(
module_handles +
id, new_handle))
288 _ASSERTE(cached_handle == new_handle);
313 char const*
const name,
329 char const*
const name,
336 void*
const cached_fp = __crt_fast_decode_pointer(
356 void*
const cached_fp = __crt_fast_decode_pointer(
357 __crt_interlocked_exchange_pointer(
374 void*
const cached_fp = __crt_fast_decode_pointer(
375 __crt_interlocked_exchange_pointer(
377 __crt_fast_encode_pointer(new_fp)));
391#define _APPLY(_FUNCTION, _MODULES) \
392 static _CRT_CONCATENATE(_FUNCTION, _pft) __cdecl _CRT_CONCATENATE(try_get_, _FUNCTION)() throw() \
394 static module_id const candidate_modules[] = _CRT_UNPARENTHESIZE(_MODULES); \
396 return reinterpret_cast<_CRT_CONCATENATE(_FUNCTION, _pft)>(try_get_function( \
397 _CRT_CONCATENATE(_FUNCTION, _id), \
398 _CRT_STRINGIZE(_FUNCTION), \
400 candidate_modules + _countof(candidate_modules))); \
407 if (
auto const are_file_apis_ansi = try_get_AreFileApisANSI())
409 return are_file_apis_ansi();
421 int const string1_count,
423 int const string2_count,
429 if (
auto const compare_string_ex = try_get_CompareStringEx())
434 __crt_state_management::scoped_global_state_reset os_mode_guard;
445 return __crt_fast_decode_pointer(static_enum_proc)(locale_string, 0, 0);
460 static_enum_proc = __crt_fast_encode_pointer(
enum_proc);
466 #
if defined(
__GNUC__) && !defined(__clang__)
469 {
return __crt_fast_decode_pointer(static_enum_proc)(locale_string, 0, 0); },
472 static_enum_proc = __crt_fast_encode_pointer(
nullptr);
484 if (
auto const enum_system_locales_ex = try_get_EnumSystemLocalesEx())
497#if FLS_ALWAYS_AVAILABLE
500 if (
auto const fls_alloc = try_get_FlsAlloc())
511#if FLS_ALWAYS_AVAILABLE
514 if (
auto const fls_free = try_get_FlsFree())
516 return fls_free(fls_index);
525#if FLS_ALWAYS_AVAILABLE
528 if (
auto const fls_get_value = try_get_FlsGetValue())
530 return fls_get_value(fls_index);
539#if FLS_ALWAYS_AVAILABLE
542 if (
auto const fls_set_value = try_get_FlsSetValue())
544 return fls_set_value(fls_index, fls_data);
561 if (
auto const get_date_format_ex = try_get_GetDateFormatEx())
574 if (
auto const get_temp_path2w = try_get_GetTempPath2W())
583 if (
auto const get_enabled_xstate_features = try_get_GetEnabledXStateFeatures())
585 return get_enabled_xstate_features();
598 if (
auto const get_locale_info_ex = try_get_GetLocaleInfoEx())
608 if (
auto const get_system_time_precise_as_file_time = try_get_GetSystemTimePreciseAsFileTime())
610 return get_system_time_precise_as_file_time(system_time);
625 if (
auto const get_time_format_ex = try_get_GetTimeFormatEx())
635 int const locale_name_count
638 if (
auto const get_user_default_locale_name = try_get_GetUserDefaultLocaleName())
640 return get_user_default_locale_name(
locale_name, locale_name_count);
651 if (
auto const get_xstate_features_mask = try_get_GetXStateFeaturesMask())
653 return get_xstate_features_mask(
context, feature_mask);
661 DWORD const spin_count,
665 if (
auto const initialize_critical_section_ex = try_get_InitializeCriticalSectionEx())
675 if (
auto const is_valid_locale_name = try_get_IsValidLocaleName())
695 if (
auto const lc_map_string_ex = try_get_LCMapStringEx())
699#pragma warning(disable:__WARNING_PRECONDITION_NULLTERMINATION_VIOLATION)
706 int const name_count,
710 if (
auto const lcid_to_locale_name = try_get_LCIDToLocaleName())
723 if (
auto const locale_name_to_lcid = try_get_LocaleNameToLCID())
737 if (
auto const locate_xstate_feature = try_get_LocateXStateFeature())
752 if (
auto const message_box_a = try_get_MessageBoxA())
767 if (
auto const message_box_w = try_get_MessageBoxW())
780 if (
auto const rtl_gen_random = try_get_SystemFunction036())
790 if (
auto const ro_initialize = try_get_RoInitialize())
792 return ro_initialize(init_type);
800 if (
auto const ro_uninitialize = try_get_RoUninitialize())
802 return ro_uninitialize();
810 if (
auto const app_policy_get_process_terminaton_method_claims = try_get_AppPolicyGetProcessTerminationMethod())
820 if (
auto const app_policy_get_thread_initialization_type_claims = try_get_AppPolicyGetThreadInitializationType())
830 if (
auto const app_policy_get_show_developer_diagnostic_claims = try_get_AppPolicyGetShowDeveloperDiagnostic())
840 if (
auto const app_policy_get_windowing_model_claims = try_get_AppPolicyGetWindowingModel())
850 if (
auto const set_thread_stack_guarantee = try_get_SetThreadStackGuarantee())
852 return set_thread_stack_guarantee(stack_size_in_bytes);
860 bool can_show_message_box =
false;
862 && try_get_MessageBoxA() !=
nullptr
863 && try_get_MessageBoxW() !=
nullptr)
865 can_show_message_box =
true;
867 return can_show_message_box;
872 return try_get_CompareStringEx() !=
nullptr;
881 try_get_AreFileApisANSI();
882 try_get_CompareStringEx();
883 try_get_EnumSystemLocalesEx();
884 try_get_GetDateFormatEx();
885 try_get_GetLocaleInfoEx();
886 try_get_GetTimeFormatEx();
887 try_get_GetUserDefaultLocaleName();
888 try_get_IsValidLocaleName();
889 try_get_LCMapStringEx();
890 try_get_LCIDToLocaleName();
891 try_get_LocaleNameToLCID();
896 return try_get_LocateXStateFeature() !=
nullptr;
901 auto const get_active_window = try_get_GetActiveWindow();
902 if (!get_active_window)
907 HWND const active_window = get_active_window();
913 auto const get_last_active_popup = try_get_GetLastActivePopup();
914 if (!get_last_active_popup)
916 return active_window;
919 return get_last_active_popup(active_window);
924 auto const get_process_window_station = try_get_GetProcessWindowStation();
925 if (!get_process_window_station)
930 auto const get_user_object_information = try_get_GetUserObjectInformationW();
931 if (!get_user_object_information)
936 HWINSTA
const hwinsta = get_process_window_station();
943 if (!get_user_object_information(hwinsta,
UOI_FLAGS, &uof,
sizeof(uof),
nullptr))
AppPolicyShowDeveloperDiagnostic
AppPolicyThreadInitializationType
AppPolicyProcessTerminationMethod
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
@ windowing_model_policy_hwnd
LCID __cdecl __acrt_DownlevelLocaleNameToLCID(_In_opt_ LPCWSTR localeName)
windowing_model_policy __cdecl __acrt_get_windowing_model_policy(void)
result_buffer_count char *const _In_ int const _In_ bool const _In_ unsigned const _In_ STRFLT const _In_ bool const _Inout_ __crt_cached_ptd_host &ptd throw()
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
static const WCHAR version[]
PVOID WINAPI FlsGetValue(DWORD dwFlsIndex)
BOOL WINAPI FlsSetValue(DWORD dwFlsIndex, PVOID lpFlsData)
BOOL WINAPI FlsFree(DWORD dwFlsIndex)
DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION lpCallback)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
DWORD WINAPI GetTempPathW(IN DWORD count, OUT LPWSTR path)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
DWORD WINAPI TlsAlloc(VOID)
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
BOOL WINAPI TlsFree(IN DWORD Index)
VOID WINAPI GetSystemTimeAsFileTime(OUT PFILETIME lpFileTime)
BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW lpfnLocaleEnum, DWORD dwFlags)
INT WINAPI CompareStringW(LCID lcid, DWORD flags, LPCWSTR str1, INT len1, LPCWSTR str2, INT len2)
BOOL WINAPI IsValidLocale(LCID lcid, DWORD flags)
LCID WINAPI GetUserDefaultLCID(void)
INT WINAPI LCMapStringW(LCID lcid, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLsizei GLsizei * length
int __cdecl __acrt_DownlevelLCIDToLocaleName(LCID lcid, LPWSTR outLocaleName, int cchLocaleName)
CRITICAL_SECTION critical_section
#define GetCurrentThreadEffectiveToken()
static IPrintDialogCallback callback
static CHAR string1[MAX_PATH]
static CHAR string2[MAX_PATH]
static wchar_t const *const module_names[module_id_count]
#define _Out_writes_to_opt_(s, c)
#define _Must_inspect_result_
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
size_t const source_count
BOOL WINAPI InitializeCriticalSectionAndSpinCount(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount)
size_t const destination_count
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
static BOOL CALLBACK enum_proc(HWND hwnd, LPARAM lParam)
BOOL WINAPI __acrt_IsValidLocaleName(LPCWSTR const locale_name)
LONG WINAPI __acrt_AppPolicyGetThreadInitializationTypeInternal(_Out_ AppPolicyThreadInitializationType *policy)
bool __cdecl __acrt_can_show_message_box()
BOOL WINAPI __acrt_FlsFree(DWORD const fls_index)
DWORD64 WINAPI __acrt_GetEnabledXStateFeatures()
int WINAPI __acrt_CompareStringEx(LPCWSTR const locale_name, DWORD const flags, LPCWCH const string1, int const string1_count, LPCWCH const string2, int const string2_count, LPNLSVERSIONINFO const version, LPVOID const reserved, LPARAM const param)
LONG WINAPI __acrt_AppPolicyGetWindowingModelInternal(_Out_ AppPolicyWindowingModel *policy)
#define _ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS
int WINAPI __acrt_MessageBoxW(HWND const hwnd, LPCWSTR const text, LPCWSTR const caption, UINT const type)
int WINAPI __acrt_LCMapStringEx(LPCWSTR const locale_name, DWORD const flags, LPCWSTR const source, int const source_count, LPWSTR const destination, int const destination_count, LPNLSVERSIONINFO const version, LPVOID const reserved, LPARAM const sort_handle)
DWORD WINAPI __acrt_FlsAlloc(PFLS_CALLBACK_FUNCTION const callback)
bool __cdecl __acrt_initialize_winapi_thunks()
_Must_inspect_result_ WINBASEAPI BOOL WINAPI GetXStateFeaturesMask(_In_ PCONTEXT context, _Out_ PDWORD64 feature_mask)
LCID WINAPI __acrt_LocaleNameToLCID(LPCWSTR const name, DWORD const flags)
static HMODULE __cdecl try_get_first_available_module(module_id const *const first, module_id const *const last)
VOID WINAPI __acrt_GetSystemTimePreciseAsFileTime(LPFILETIME const system_time)
static HMODULE __cdecl try_get_module(module_id const id)
static void *__cdecl try_get_function(function_id const id, char const *const name, module_id const *const first_module_id, module_id const *const last_module_id)
int WINAPI __acrt_GetLocaleInfoEx(LPCWSTR const locale_name, LCTYPE const lc_type, LPWSTR const data, int const data_count)
static BOOL enum_system_locales_ex_nolock(LOCALE_ENUMPROCEX const enum_proc)
BOOL WINAPI __acrt_GetXStateFeaturesMask(PCONTEXT const context, PDWORD64 const feature_mask)
int WINAPI __acrt_GetTimeFormatEx(LPCWSTR const locale_name, DWORD const flags, SYSTEMTIME CONST *const time, LPCWSTR const format, LPWSTR const buffer, int const buffer_count)
BOOL WINAPI __acrt_FlsSetValue(DWORD const fls_index, PVOID const fls_data)
WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures()
void WINAPI __acrt_RoUninitialize()
LONG WINAPI __acrt_AppPolicyGetProcessTerminationMethodInternal(_Out_ AppPolicyProcessTerminationMethod *policy)
BOOL WINAPI __acrt_SetThreadStackGuarantee(PULONG const stack_size_in_bytes)
BOOL WINAPI __acrt_EnumSystemLocalesEx(LOCALE_ENUMPROCEX const enum_proc, DWORD const flags, LPARAM const param, LPVOID const reserved)
int WINAPI __acrt_LCIDToLocaleName(LCID const locale, LPWSTR const name, int const name_count, DWORD const flags)
BOOL WINAPI __acrt_InitializeCriticalSectionEx(LPCRITICAL_SECTION const critical_section, DWORD const spin_count, DWORD const flags)
#define _ACRT_APPLY_TO_LATE_BOUND_MODULES
bool __cdecl __acrt_uninitialize_winapi_thunks(bool const terminating)
LONG WINAPI __acrt_AppPolicyGetShowDeveloperDiagnosticInternal(_Out_ AppPolicyShowDeveloperDiagnostic *policy)
int WINAPI __acrt_GetUserDefaultLocaleName(LPWSTR const locale_name, int const locale_name_count)
bool __cdecl __acrt_is_interactive()
HRESULT WINAPI __acrt_RoInitialize(RO_INIT_TYPE const init_type)
int WINAPI __acrt_GetTempPath2W(DWORD nBufferLength, LPWSTR lpBuffer)
bool __cdecl __acrt_can_use_vista_locale_apis()
PVOID WINAPI __acrt_FlsGetValue(DWORD const fls_index)
HWND __cdecl __acrt_get_parent_window()
static __forceinline void *__cdecl try_get_proc_address_from_first_available_module(char const *const name, module_id const *const first_module_id, module_id const *const last_module_id)
BOOLEAN WINAPI __acrt_RtlGenRandom(PVOID const buffer, ULONG const buffer_count)
static void * encoded_function_pointers[function_id_count]
static __forceinline void *__cdecl invalid_function_sentinel()
_ACRT_APPLY_TO_LATE_BOUND_FUNCTIONS BOOL WINAPI __acrt_AreFileApisANSI()
PVOID WINAPI __acrt_LocateXStateFeature(PCONTEXT const content, DWORD const feature_id, PDWORD const length)
int WINAPI __acrt_MessageBoxA(HWND const hwnd, LPCSTR const text, LPCSTR const caption, UINT const type)
static HMODULE __cdecl try_load_library_from_system_directory(wchar_t const *const name)
static HMODULE module_handles[module_id_count]
int WINAPI __acrt_GetDateFormatEx(LPCWSTR const locale_name, DWORD const flags, SYSTEMTIME CONST *const date, LPCWSTR const format, LPWSTR const buffer, int const buffer_count, LPCWSTR const calendar)
bool __cdecl __acrt_can_use_xstate_apis()
void __cdecl __acrt_eagerly_load_locale_apis()
DWORD WINAPI GetLastError(void)
#define LOAD_LIBRARY_SEARCH_SYSTEM32
VOID(WINAPI * PFLS_CALLBACK_FUNCTION)(PVOID)
_In_ LPCSTR _In_opt_ LPCSTR _In_ DWORD nBufferLength
BOOL(CALLBACK * LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM)
BOOL(CALLBACK * LOCALE_ENUMPROCW)(LPWSTR)
size_t const buffer_count