在 2025-12-29 01:51, Pali Rohár 写道:
In commit 6b37f1f37a9639899efd4aba6a7d506682895792 were removed duplicate symbols which are available in more api-ms-win-core-console*.dll libraries.Function PeekConsoleInputA is in both api-ms-win-core-console-l1-1-0.dll and api-ms-win-core-console-l1-2-0.dll libraries. But for Windows XP there is no api-ms-win-core-console-l1-2-0.dll library, only api-ms-win-core-console-l1-1-0.dll library. So for Windows XP compatibility, use PeekConsoleInputA symbol from api-ms-win-core-console-l1-1-0.dll library and not from later versions. --- mingw-w64-crt/lib-common/api-ms-win-core-console-l1-1-0.def | 1 + mingw-w64-crt/lib-common/api-ms-win-core-console-l1-2-0.def | 1 - mingw-w64-crt/lib32/api-ms-win-core-console-l1-1-0.def | 1 + mingw-w64-crt/lib32/api-ms-win-core-console-l1-2-0.def | 1 - 4 files changed, 2 insertions(+), 2 deletions(-)
I have two questions about this change:First one is that I'm wondering whether these api-ms-win-* things exist on Windows XP. These seem a Windows 8 thing, so on XP the DLL loader is not aware of API set schemas and real DLLs with such exports have to exist.
Second one is that in Microsoft SDK this function is really only exported from l1-2-0.def and not from l1-1-0.def:
https://github.com/lhmouse/winsdk-defs/blob/0f5e1ee7c8f2e9c61b86895f7d83ba39d3ebd9e6/um/x86/api-ms-win-core-console-l1-1-0.def https://github.com/lhmouse/winsdk-defs/blob/0f5e1ee7c8f2e9c61b86895f7d83ba39d3ebd9e6/um/x86/api-ms-win-core-console-l1-2-0.def
-- Best regards, LIU Hao
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
