[Mingw-w64-public] [PATCH 2/2] add api-ms-core-registry-* def files
These are needed to enable the registry API calls available in UWP. --- mingw-w64-crt/Makefile.am | 4 ++ .../api-ms-win-core-registry-l1-1-0.def | 47 +++ .../api-ms-win-core-registry-l2-1-0.def | 37 +++ mingw-w64-crt/lib-common/mincore.mri | 3 +- mingw-w64-crt/lib-common/windowsapp.mri | 2 + 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 mingw-w64-crt/lib-common/api-ms-win-core-registry-l1-1-0.def create mode 100644 mingw-w64-crt/lib-common/api-ms-win-core-registry-l2-1-0.def diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index a4a1ed922..6087f050e 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -2104,6 +2104,8 @@ endif %/libapi-ms-win-core-realtime-l1-1-0.a \ %/libapi-ms-win-core-realtime-l1-1-1.a \ %/libapi-ms-win-core-realtime-l1-1-2.a \ + %/libapi-ms-win-core-registry-l1-1-0.a \ + %/libapi-ms-win-core-registry-l2-1-0.a \ %/libapi-ms-win-core-rtlsupport-l1-2-0.a \ %/libapi-ms-win-core-string-l1-1-0.a \ %/libapi-ms-win-core-synch-l1-1-0.a \ @@ -2237,6 +2239,8 @@ endif %/libapi-ms-win-core-profile-l1-1-0.a \ %/libapi-ms-win-core-realtime-l1-1-0.a \ %/libapi-ms-win-core-realtime-l1-1-1.a \ + %/libapi-ms-win-core-registry-l1-1-0.a \ + %/libapi-ms-win-core-registry-l2-1-0.a \ %/libapi-ms-win-core-rtlsupport-l1-2-0.a \ %/libapi-ms-win-core-string-l1-1-0.a \ %/libapi-ms-win-core-synch-ansi-l1-1-0.a \ diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-registry-l1-1-0.def b/mingw-w64-crt/lib-common/api-ms-win-core-registry-l1-1-0.def new file mode 100644 index 0..5cb72046b --- /dev/null +++ b/mingw-w64-crt/lib-common/api-ms-win-core-registry-l1-1-0.def @@ -0,0 +1,47 @@ +LIBRARY api-ms-win-core-registry-l1-1-0 + +EXPORTS + +RegCloseKey +RegCopyTreeW +RegCreateKeyExA +RegCreateKeyExW +RegDeleteKeyExA +RegDeleteKeyExW +RegDeleteTreeA +RegDeleteTreeW +RegDeleteValueA +RegDeleteValueW +RegDisablePredefinedCacheEx +RegEnumKeyExA +RegEnumKeyExW +RegEnumValueA +RegEnumValueW +RegFlushKey +RegGetKeySecurity +RegGetValueA +RegGetValueW +RegLoadAppKeyA +RegLoadAppKeyW +RegLoadKeyA +RegLoadKeyW +RegLoadMUIStringA +RegLoadMUIStringW +RegNotifyChangeKeyValue +RegOpenCurrentUser +RegOpenKeyExA +RegOpenKeyExW +RegOpenUserClassesRoot +RegQueryInfoKeyA +RegQueryInfoKeyW +RegQueryValueExA +RegQueryValueExW +RegRestoreKeyA +RegRestoreKeyW +RegSaveKeyExA +RegSaveKeyExW +RegSetKeySecurity +RegSetValueExA +RegSetValueExW +RegUnLoadKeyA +RegUnLoadKeyW diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-registry-l2-1-0.def b/mingw-w64-crt/lib-common/api-ms-win-core-registry-l2-1-0.def new file mode 100644 index 0..3e05bbf74 --- /dev/null +++ b/mingw-w64-crt/lib-common/api-ms-win-core-registry-l2-1-0.def @@ -0,0 +1,37 @@ +LIBRARY api-ms-win-core-registry-l2-1-0 + +EXPORTS + +RegConnectRegistryA +RegConnectRegistryW +RegCopyTreeA +RegCreateKeyA +RegCreateKeyTransactedA +RegCreateKeyTransactedW +RegCreateKeyW +RegDeleteKeyA +RegDeleteKeyTransactedA +RegDeleteKeyTransactedW +RegDeleteKeyValueA +RegDeleteKeyValueW +RegDeleteKeyW +RegDisablePredefinedCache +RegEnumKeyA +RegEnumKeyW +RegOpenKeyA +RegOpenKeyTransactedA +RegOpenKeyTransactedW +RegOpenKeyW +RegOverridePredefKey +RegQueryMultipleValuesA +RegQueryMultipleValuesW +RegQueryValueA +RegQueryValueW +RegReplaceKeyA +RegReplaceKeyW +RegSaveKeyA +RegSaveKeyW +RegSetKeyValueA +RegSetKeyValueW +RegSetValueA +RegSetValueW diff --git a/mingw-w64-crt/lib-common/mincore.mri b/mingw-w64-crt/lib-common/mincore.mri index 7073eeb8d..03f4b4c37 100644 --- a/mingw-w64-crt/lib-common/mincore.mri +++ b/mingw-w64-crt/lib-common/mincore.mri @@ -85,7 +85,8 @@ ADDLIB libapi-ms-win-core-psapi-ansi-l1-1-0.a ADDLIB libapi-ms-win-core-realtime-l1-1-0.a ADDLIB libapi-ms-win-core-realtime-l1-1-1.a ADDLIB libapi-ms-win-core-realtime-l1-1-2.a -; FIXME libapi-ms-win-core-registry-l1-1-0.a +ADDLIB libapi-ms-win-core-registry-l1-1-0.a +ADDLIB libapi-ms-win-core-registry-l2-1-0.a ; FIXME libapi-ms-win-core-registry-l1-1-1.a ; FIXME libapi-ms-win-core-registry-l1-1-2.a ; FIXME libapi-ms-win-core-rtlsupport-l1-1-0.a diff --git a/mingw-w64-crt/lib-common/windowsapp.mri b/mingw-w64-crt/lib-common/windowsapp.mri index 8e0e3d888..2496280a5 100644 --- a/mingw-w64-crt/lib-common/windowsapp.mri +++ b/mingw-w64-crt/lib-common/windowsapp.mri @@ -51,6 +51,8 @@ ADDLIB libapi-ms-win-core-psapi-ansi-l1-1-0.a ADDLIB libapi-ms-win-core-profile-l1-1-0.a ADDLIB libapi-ms-win-core-realtime-l1-1-0.a ADDLIB libapi-ms-win-core-realtime-l1-1-1.a +ADDLIB libapi-ms-win-core-registry-l1-1-0.a +ADDLIB libapi-ms-win-core-registry-l2-1-0.a ADDLIB libapi-ms-win-core-rtlsupport-l1-2-0.a ADDLIB
[Mingw-w64-public] [PATCH 1/2] headers: enable some Registry API calls in UWP 8.1+ builds
The documentation doesn't say it's allowed, but the WIndows SDK allow it since 22000 and the Windows App Certification as well. It is not restricted to Win11 in both cases. It's even allowed for 8.1 in api-ms-win-core-registry-l1-1-0.dll. --- mingw-w64-headers/include/winreg.h | 92 -- 1 file changed, 49 insertions(+), 43 deletions(-) diff --git a/mingw-w64-headers/include/winreg.h b/mingw-w64-headers/include/winreg.h index dab9324e8..6c5743a28 100644 --- a/mingw-w64-headers/include/winreg.h +++ b/mingw-w64-headers/include/winreg.h @@ -131,31 +131,20 @@ extern "C" { #define RegConnectRegistry __MINGW_NAME_AW(RegConnectRegistry) #define RegConnectRegistryEx __MINGW_NAME_AW(RegConnectRegistryEx) #define RegCreateKey __MINGW_NAME_AW(RegCreateKey) -#define RegCreateKeyEx __MINGW_NAME_AW(RegCreateKeyEx) #define RegDeleteKey __MINGW_NAME_AW(RegDeleteKey) -#define RegDeleteKeyEx __MINGW_NAME_AW(RegDeleteKeyEx) -#define RegDeleteValue __MINGW_NAME_AW(RegDeleteValue) #define RegEnumKey __MINGW_NAME_AW(RegEnumKey) -#define RegEnumKeyEx __MINGW_NAME_AW(RegEnumKeyEx) -#define RegEnumValue __MINGW_NAME_AW(RegEnumValue) #define RegLoadKey __MINGW_NAME_AW(RegLoadKey) #define RegOpenKey __MINGW_NAME_AW(RegOpenKey) -#define RegOpenKeyEx __MINGW_NAME_AW(RegOpenKeyEx) -#define RegQueryInfoKey __MINGW_NAME_AW(RegQueryInfoKey) #define RegQueryValue __MINGW_NAME_AW(RegQueryValue) #define RegQueryMultipleValues __MINGW_NAME_AW(RegQueryMultipleValues) -#define RegQueryValueEx __MINGW_NAME_AW(RegQueryValueEx) #define RegReplaceKey __MINGW_NAME_AW(RegReplaceKey) #define RegRestoreKey __MINGW_NAME_AW(RegRestoreKey) #define RegSaveKey __MINGW_NAME_AW(RegSaveKey) #define RegSetValue __MINGW_NAME_AW(RegSetValue) -#define RegSetValueEx __MINGW_NAME_AW(RegSetValueEx) #define RegUnLoadKey __MINGW_NAME_AW(RegUnLoadKey) -#define RegGetValue __MINGW_NAME_AW(RegGetValue) #define InitiateSystemShutdown __MINGW_NAME_AW(InitiateSystemShutdown) #define AbortSystemShutdown __MINGW_NAME_AW(AbortSystemShutdown) - WINADVAPI LONG WINAPI RegCloseKey(HKEY hKey); WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY hKey,HKEY hNewHKey); WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult); WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult); @@ -167,40 +156,23 @@ extern "C" { WINADVAPI LONG WINAPI RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult); WINADVAPI LONG WINAPI RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult); WINADVAPI LONG WINAPI RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult); - WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition); - WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition); WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey); WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey); - WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved); - WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved); WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY hBase); WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY hBase); WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled); - WINADVAPI LONG WINAPI RegDeleteValueA(HKEY hKey,LPCSTR lpValueName); - WINADVAPI LONG WINAPI RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName); WINADVAPI LONG WINAPI RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName); WINADVAPI LONG WINAPI RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName); - WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime); - WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime); - WINADVAPI LONG WINAPI RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); - WINADVAPI LONG WINAPI RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); WINADVAPI LONG WINAPI RegFlushKey(HKEY hKey); WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor); WINADVAPI LONG WINAPI RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR
[Mingw-w64-public] [PATCH 2/3] headers: enable GET_MODULE_HANDLE_EX_xxx defines in UWP builds
It's available in the Windows 11 SDK for all builds targeting FAMILY_APP and more. --- mingw-w64-headers/include/libloaderapi.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mingw-w64-headers/include/libloaderapi.h b/mingw-w64-headers/include/libloaderapi.h index 288e78d9f..b74d8775a 100644 --- a/mingw-w64-headers/include/libloaderapi.h +++ b/mingw-w64-headers/include/libloaderapi.h @@ -74,11 +74,13 @@ extern "C" { #if (NTDDI_VERSION >= NTDDI_WIN10_RS2) #define LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY 0x8000 #endif +#endif /* WINAPI_PARTITION_DESKTOP */ #define GET_MODULE_HANDLE_EX_FLAG_PIN (0x1) #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT (0x2) #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS (0x4) +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) #define ENUMRESLANGPROC __MINGW_NAME_AW(ENUMRESLANGPROC) #define ENUMRESNAMEPROC __MINGW_NAME_AW(ENUMRESNAMEPROC) #define ENUMRESTYPEPROC __MINGW_NAME_AW(ENUMRESTYPEPROC) -- 2.39.2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 3/3] winstorecompat: remove GetModuleHandle() from windowsappcompat
It's allowed now in Windows 10. Keep it forbidden in winstorecompat (Win8). --- mingw-w64-libraries/winstorecompat/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am index a668efb25..c3c4f65ee 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.am +++ b/mingw-w64-libraries/winstorecompat/Makefile.am @@ -50,7 +50,6 @@ libwinstorecompat_a_SOURCES = \ libwindowsappcompat_a_SOURCES = \ src/beginthread.c \ - src/GetModuleHandle.c \ src/LoadLibraryW.c \ src/CreateFileW.c \ src/UnhandledExceptionFilter.c \ -- 2.39.2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 1/3] headers: enable more module API in Win10 UWP builds
The documentation doesn't say they're allowed, but the WIndows SDK allow it since 22000 and the Windows App Certification as well. It is not restricted to Win11 in both cases but applies when targeting Win10 as well. --- mingw-w64-headers/include/libloaderapi.h | 51 ++-- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/mingw-w64-headers/include/libloaderapi.h b/mingw-w64-headers/include/libloaderapi.h index d4c82ef8c..288e78d9f 100644 --- a/mingw-w64-headers/include/libloaderapi.h +++ b/mingw-w64-headers/include/libloaderapi.h @@ -37,11 +37,6 @@ extern "C" { typedef FARPROC ENUMRESLANGPROCW; #endif -#ifndef RC_INVOKED - typedef WINBOOL (WINAPI *PGET_MODULE_HANDLE_EXA) (DWORD dwFlags, LPCSTR lpModuleName, HMODULE *phModule); - typedef WINBOOL (WINAPI *PGET_MODULE_HANDLE_EXW) (DWORD dwFlags, LPCWSTR lpModuleName, HMODULE *phModule); -#endif - typedef PVOID DLL_DIRECTORY_COOKIE, *PDLL_DIRECTORY_COOKIE; #define FIND_RESOURCE_DIRECTORY_TYPES (0x0100) @@ -90,32 +85,18 @@ extern "C" { WINBASEAPI WINBOOL WINAPI EnumResourceNamesW(HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam); WINBASEAPI HRSRC WINAPI FindResourceW(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType); - WINBASEAPI HRSRC WINAPI FindResourceExW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); WINBASEAPI WINBOOL WINAPI FreeResource (HGLOBAL hResData); - WINBASEAPI HMODULE WINAPI LoadLibraryExA (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); - WINBASEAPI HMODULE WINAPI LoadLibraryExW (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); WINBASEAPI HGLOBAL WINAPI LoadResource (HMODULE hModule, HRSRC hResInfo); - WINUSERAPI int WINAPI LoadStringA (HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int cchBufferMax); - WINUSERAPI int WINAPI LoadStringW (HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int cchBufferMax); WINBASEAPI LPVOID WINAPI LockResource (HGLOBAL hResData); - WINBASEAPI DWORD WINAPI SizeofResource (HMODULE hModule, HRSRC hResInfo); WINBASEAPI DLL_DIRECTORY_COOKIE WINAPI AddDllDirectory (PCWSTR NewDirectory); WINBASEAPI WINBOOL WINAPI RemoveDllDirectory (DLL_DIRECTORY_COOKIE Cookie); WINBASEAPI WINBOOL WINAPI SetDefaultDllDirectories (DWORD DirectoryFlags); - WINBASEAPI WINBOOL WINAPI GetModuleHandleExA (DWORD dwFlags, LPCSTR lpModuleName, HMODULE *phModule); - WINBASEAPI WINBOOL WINAPI GetModuleHandleExW (DWORD dwFlags, LPCWSTR lpModuleName, HMODULE *phModule); #ifdef UNICODE #define EnumResourceNames EnumResourceNamesW #define FindResource FindResourceW -#define FindResourceEx FindResourceExW #endif -#define PGET_MODULE_HANDLE_EX __MINGW_NAME_AW(PGET_MODULE_HANDLE_EX) -#define LoadString __MINGW_NAME_AW(LoadString) -#define GetModuleHandleEx __MINGW_NAME_AW(GetModuleHandleEx) -#define LoadLibraryEx __MINGW_NAME_AW(LoadLibraryEx) - #define EnumResourceLanguages __MINGW_NAME_AW(EnumResourceLanguages) WINBASEAPI WINBOOL WINAPI EnumResourceLanguagesA(HMODULE hModule,LPCSTR lpType,LPCSTR lpName,ENUMRESLANGPROCA lpEnumFunc,LONG_PTR lParam); WINBASEAPI WINBOOL WINAPI EnumResourceLanguagesW(HMODULE hModule,LPCWSTR lpType,LPCWSTR lpName,ENUMRESLANGPROCW lpEnumFunc,LONG_PTR lParam); @@ -136,11 +117,8 @@ extern "C" { #endif #endif #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) -WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR lpModuleName); -WINBASEAPI HMODULE WINAPI GetModuleHandleW (LPCWSTR lpModuleName); WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR lpLibFileName); WINBASEAPI HMODULE WINAPI LoadLibraryW(LPCWSTR lpLibFileName); -#define GetModuleHandle __MINGW_NAME_AW(GetModuleHandle) #define LoadLibrary __MINGW_NAME_AW(LoadLibrary) #endif @@ -176,6 +154,35 @@ typedef const REDIRECTION_DESCRIPTOR *PCREDIRECTION_DESCRIPTOR; #endif #endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00 + WINBASEAPI HRSRC WINAPI FindResourceExW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage); + WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR lpModuleName); + WINBASEAPI HMODULE WINAPI GetModuleHandleW (LPCWSTR lpModuleName); + WINBASEAPI WINBOOL WINAPI GetModuleHandleExA (DWORD dwFlags, LPCSTR lpModuleName, HMODULE *phModule); + WINBASEAPI WINBOOL WINAPI GetModuleHandleExW (DWORD dwFlags, LPCWSTR lpModuleName, HMODULE *phModule); + WINBASEAPI HMODULE WINAPI LoadLibraryExA (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); + WINBASEAPI HMODULE WINAPI LoadLibraryExW (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags); + WINUSERAPI int WINAPI LoadStringA (HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int cchBufferMax); + WINUSERAPI int WINAPI LoadStringW (HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int cchBufferMax); + WINBASEAPI DWORD WINAPI SizeofResource (HMODULE hModule, HRSRC hResInfo); + +#ifdef UNICODE +#define FindResourceEx FindResourceExW +#endif + +#define
[Mingw-w64-public] [PATCH] winstorecompat: remove _beginthread() from windowsappcompat
It's allowed now in Windows 10. Keep it forbidden in winstorecompat (Win8) as it's forbidden there [1]. Win10 UWP builds will use the version in api-ms-win-crt-runtime-l1-1-0.dll via windowsapp. [1] https://learn.microsoft.com/en-us/cpp/cppcx/crt-functions-not-supported-in-universal-windows-platform-apps?view=msvc-160#windows-8x-store-apps-and-windows-phone-8x-apps --- mingw-w64-libraries/winstorecompat/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am index c3c4f65ee..99016a051 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.am +++ b/mingw-w64-libraries/winstorecompat/Makefile.am @@ -49,7 +49,6 @@ libwinstorecompat_a_SOURCES = \ $(NULL) libwindowsappcompat_a_SOURCES = \ - src/beginthread.c \ src/LoadLibraryW.c \ src/CreateFileW.c \ src/UnhandledExceptionFilter.c \ -- 2.39.2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] headers: enable GetVolumePathNameW in Win10 UWP builds
在 2023/5/30 14:41, Steve Lhomme 写道: Indeed, here I have it in DESKTOP since 19041. So that's still a Windows 10 SDK (20H1), the latest being 19045 [1]. The API is not hidden by a NTDDI_VERSION check, so it should apply to all Windows 10 versions. And since the Windows App Certification doesn't differentiate between the Windows 10 versions, I think we can use it in all Windows 10 versions. The definition is moved into a code block that is inside: #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 So I think it's OK like that. That's reasonable. Thanks for the patch. Pushed now. -- Best regards, LIU Hao OpenPGP_signature Description: OpenPGP digital signature ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] headers: enable GetVolumePathNameW in Win10 UWP builds
Hi, On 2023-05-28 10:51, LIU Hao wrote: 在 2023-05-27 18:05, Steve Lhomme 写道: The documentation doesn't say it's allowed, but the WIndows SDK allow it and the Windows App Certification as well. The official page for allowed API's also doesn't say it's allowed [1] but the DLL that contains it is there. [1] https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-core-file-l2-1-0dll --- mingw-w64-headers/include/fileapi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Compiling a program that calls it: With Windows 10 SDK 10.0.18362.0 this function is not declared for APP (only for DESKTOP), but with 10.0.22621.0 it is indeed declared. It might have changed inbetween so maybe we could have an `_WIN32_WINNT >= _WIN32_WINNT_` there? Indeed, here I have it in DESKTOP since 19041. So that's still a Windows 10 SDK (20H1), the latest being 19045 [1]. The API is not hidden by a NTDDI_VERSION check, so it should apply to all Windows 10 versions. And since the Windows App Certification doesn't differentiate between the Windows 10 versions, I think we can use it in all Windows 10 versions. The definition is moved into a code block that is inside: #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 So I think it's OK like that. [1] https://en.wikipedia.org/wiki/Windows_10_version_history -- Best regards, LIU Hao ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public