在 2023/6/7 13:55, Steve Lhomme 写道:
1) `GetFileVersionInfoW` isn't mentioned anywhere. According to its documentation [3] it should be imported from `api-ms-win-core-version-l1-1-0.dll` but that DLL exports no such function.I think you mean api-ms-win-core-version-l1-1-1. This is how it's exported in the WACK XML files and also what WindowsApp.lib uses (in 19041).
That was not a typo. Microsoft documentation says Requirements (... ...) DLL Api-ms-win-core-version-l1-1-0.dll
The changes in api-ms-win-core-winrt-error-l1-1-1 are documented as belonging there. For example, for RoClearError it doesn't show in the webpage but it does show in the MarkDown file, in the "api_location" element [9].
OK maybe we can take those Markdown references, but should we keep those undocumented exports? (esp. those cryptographic ones.)
Indeed. I made a tool (private as I'm not sure how legally safe it is) to generate the .def files from the WACK XML files. I used it to find which DLLs are needed to export some functions. However, it seems that this export doesn't match any version of WindowsApp.lib (from 10240 to 22261). So it's correct to remove all these calls. In this case the MarkDown doc is incorrect [10].
The question is probably whether we should remove those that have been documented as 'removed'. I suspect so, because they should be called via `GetProcAddress()`.
BTW, since the online doc is now generated from the MarkDown files in that sdk-api repo, would it make sense to put some tools in mingw-w64 to parse those files and extract some data. I have some Python code that parses the frontmatter part of files to find various information. For example we could verify that the headers match the minimum allowed version for each API entry.
The issue about such a tool and recent patches is that the stdcall suffixes have to be checked manually. (`HSTRING_UserFree64` etc. at this moment does not have a correct suffix.)
Things could get worse if Microsoft will remove more in the future. 'minimum allowed version' might not even make much sense if something gets removed, and as a result there could have to be a 'maximum allowed version'.
-- Best regards, LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
