Based on this documentation some APIs are not allowed in UWP builds
https://docs.microsoft.com/en-us/cpp/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps?view=vs-2019

The documentation is old and may not apply to Win10 but it's still the one
listed for UCRT compatibility :
https://docs.microsoft.com/en-us/cpp/c-runtime-library/compatibility?view=vs-2019

Define _CRT_USE_WINAPI_FAMILY_DESKTOP_APP to let the compiler know the API's are
allowed. So we can restrict some C runtime APIs based on the target family.
---
 mingw-w64-headers/crt/corecrt.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/mingw-w64-headers/crt/corecrt.h b/mingw-w64-headers/crt/corecrt.h
index 8f9f6b42..cc7d23bc 100644
--- a/mingw-w64-headers/crt/corecrt.h
+++ b/mingw-w64-headers/crt/corecrt.h
@@ -491,6 +491,15 @@ typedef struct threadlocaleinfostruct {
 #define __crt_typefix(ctype)
 #endif
 
+#ifdef WINAPI_FAMILY
+#include <winapifamily.h>
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
+#define _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
+#endif
+#else /* !WINAPI_FAMILY */
+#define _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
+#endif /* !WINAPI_FAMILY */
+
 #ifndef __WIDL__
 #pragma pack(pop)
 #endif
-- 
2.17.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to