在 2026-2-27 22:29, LIU Hao 写道:
在 2026-2-25 04:00, Pali Rohár 写道:
Hello, in attachment I'm sending documentation changes for 32-bit x86
advapi32.dll library and fixes of two symbols. It is same form as what I
have done for kernel32.dll and ntdll.dll in past. Kirill run the CI
tests with these (and also other changes), they passed:
https://github.com/maiddaisuki/mingw-w64/actions/runs/22307392638

From 0fad143f7937bf1a881e2fe53573fb0641d36c53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <[email protected]>
Date: Sun, 25 Jan 2026 19:01:38 +0100
Subject: [PATCH 1/3] crt: Fix advapi32 SaferiRegisterExtensionDll symbol

Ordinal-only symbol needs to be declared with NONAME, like current version of 
gendef is doing it.
Ordinal @1000 in 32-bit x86 advapi32.dll file has name 
SaferiRegisterExtensionDll according to:
https://www.geoffchappell.com/studies/windows/win32/advapi32/history/ords61.htm
---
 mingw-w64-crt/lib32/advapi32.def | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

This is not an authoritative source of such information. However, this name can be found in Microsoft advapi32.pdb, so it's correct. (You may use Visual Studio to download PDB of a system DLL from Microsoft Symbol Server.)

I will take a look into the third patch tomorrow.
I have pushed this series of patches with some fixups in comments:


diff --git a/mingw-w64-crt/lib32/advapi32.def b/mingw-w64-crt/lib32/advapi32.def
index 4ecde32b8..9576b84af 100644
--- a/mingw-w64-crt/lib32/advapi32.def
+++ b/mingw-w64-crt/lib32/advapi32.def
@@ -2,21 +2,23 @@ LIBRARY "ADVAPI32.dll"
 EXPORTS

 ; This file is a comprehensive documentation for 32-bit x86 advapi32.dll 
symbols.
-; It covers all 3 platforms Win32s, Win9x and WinNT and contains information
+; It covers all 3 platforms (Win32s, Win9x and WinNT) and contains information
 ; from native advapi32.dll libraries on 32-bit Windows systems and also from
 ; 32-bit WoW64 advapi32.dll libraries on 64-bit Windows systems. Symbols in 
this
 ; file are ordered by increasing Windows version in which they were introduced.
 ; First are Win32s versions, then followed by Win9x versions and then WinNT
-; because logically Win32s symbols are subset of Win9x symbols which is subset
-; of WinNT symbols. Comments contains additional information with exceptions.
+; because logically Win32s symbols are a subset of Win9x symbols which are a
+; subset of WinNT symbols. Comments contains additional information with 
exceptions.
 ;
 ; BEWARE that this file contains only information about symbol availability and
-; whether it is possible to load application or library which references 
symbol.
-; It does not contain information if the particular Windows version supports 
and
-; implements corresponding API function. Lot of -W functions are unimplemented
-; on Win32s and Win9x platforms and simply signals ERROR_CALL_NOT_IMPLEMENTED.
+; whether it is possible to load an application or library which references 
these
+; symbols. It does not contain information if the particular Windows version
+; supports or implements corresponding API functions. Lots of -W functions are
+; unimplemented on Win32s and Win9x platforms and simply signal
+; ERROR_CALL_NOT_IMPLEMENTED.

-; This is list of symbols available in all Windows versions (Win32s since Win32s 1.1; Win9x since Windows 95; WinNT since Windows NT 3.1)
+; This is list of symbols available in all Windows versions (Win32s since 
Win32s 1.1;
+; Win9x since Windows 95; WinNT since Windows NT 3.1)
 AbortSystemShutdownA@4
 AbortSystemShutdownW@4
 AccessCheck@32
@@ -639,7 +641,7 @@ WmiSetSingleItemA@24
 WmiSetSingleItemW@24
 WriteEncryptedFileRaw@12

-; In Windows 2000 SP1 was not added any new symbol
+; In Windows 2000 SP1 there was no new symbol

 ; This is list of symbols added in Windows 2000 SP2
 EqualDomainSid@12
@@ -777,7 +779,7 @@ WmiReceiveNotificationsW@16
 ; WmiGetNextEvent@4 ; removed in Windows Vista
 ; WmiOpenTraceWithCursor@4 ; removed in Windows Vista

-; In Windows XP SP2 was not added any new symbol
+; In Windows XP SP2 there was no new symbol

; This is list of symbols added in Windows XP SP3 and Windows Vista (not available in any version of Windows Server 2003)
 RegDisablePredefinedCacheEx@0
@@ -798,7 +800,7 @@ RegGetValueA@28
 RegGetValueW@28
 RegQueryReflectionKey@8

-; In Windows Server 2003 SP2 and Windows XP x64 SP2 (WoW64 version) was not 
added any new symbol
+; In Windows Server 2003 SP2 and Windows XP x64 SP2 (WoW64 version) there was 
no new symbol

 ; This is list of symbols added in Windows Vista
 AddMandatoryAce@20
@@ -924,9 +926,9 @@ TreeSetNamedSecurityInfoW@44
 UsePinForEncryptedFilesA@12
 UsePinForEncryptedFilesW@12

-; In Windows Vista SP1 was not added any new symbol
+; In Windows Vista SP1 there was no new symbol

-; In Windows Vista SP2 was not added any new symbol
+; In Windows Vista SP2 there was no new symbol

 ; This is list of symbols added in Windows 7
 AddConditionalAce@32
@@ -944,7 +946,7 @@ TraceSetInformation@20
 ; 
https://www.geoffchappell.com/studies/windows/win32/advapi32/history/ords61.htm
 SaferiRegisterExtensionDll@8 @1000 NONAME

-; In Windows 7 SP1 was not added any new symbol
+; In Windows 7 SP1 there was no new symbol

 ; This is list of symbols added in Windows 8
 BaseRegCloseKey@4
@@ -995,7 +997,7 @@ SafeBaseRegGetKeySecurity@16
 TraceQueryInformation@24
 WaitServiceState@16

-; In Windows 8.1 was not added any new symbol
+; In Windows 8.1 there was no new symbol

 ; This is list of symbols added in Windows 10 (Threshold / 1507)
 NpGetUserName@12
@@ -1017,21 +1019,21 @@ QueryTraceProcessingHandle@32
 RemoteRegQueryMultipleValues2Wrapper@24
 RemoteRegQueryMultipleValuesWrapper@20

-; In Windows 10 April 2018 Update (Redstone 4 / 1803) was not added any new 
symbol
+; In Windows 10 April 2018 Update (Redstone 4 / 1803) there was no new symbol

-; In Windows 10 October 2018 Update (Redstone 5 / 1809) was not added any new 
symbl
+; In Windows 10 October 2018 Update (Redstone 5 / 1809) there was no new symbl

-; In Windows 10 May 2019 Update (19H1 / 1903) was not added any new symbol
+; In Windows 10 May 2019 Update (19H1 / 1903) there was no new symbol

-; In Windows 10 November 2019 Update (19H2 /1909) was not added any new symbol
+; In Windows 10 November 2019 Update (19H2 /1909) there was no new symbol

-; In Windows 10 May 2020 Update (20H1 / 2004) was not added any new symbol
+; In Windows 10 May 2020 Update (20H1 / 2004) there was no new symbol

-; In Windows 10 October 2020 Update (20H2) was not added any new symbol
+; In Windows 10 October 2020 Update (20H2) there was no new symbol

-; In Windows 10 May 2021 Update (21H1) was not added any new symbol
+; In Windows 10 May 2021 Update (21H1) there was no new symbol

-; In Windows 10 November 2021 Update (21H2) was not added any new symbol
+; In Windows 10 November 2021 Update (21H2) there was no new symbol

; This is list of symbols added in Windows 10 2022 Update (22H2) and Windows 11 2022 Update (Sun Valley 2 / 22H2) (WoW64 version) (not available in Windows 11 (Sun Valley / 21H2))
 LsaInvokeTrustScanner@16
@@ -1050,9 +1052,9 @@ LsaIsUserArsoEnabled@8
 LsaProfileDeleted@4
 LsaValidateProcUniqueLuid@4

-; In Windows 11 2022 Update (Sun Valley 2 / 22H2) (WoW64 version) was not 
added any new symbol
+; In Windows 11 2022 Update (Sun Valley 2 / 22H2) (WoW64 version) there was no 
new symbol

-; In Windows 11 2023 Update (Sun Valley 3 / 23H2) (WoW64 version) was not 
added any new symbol
+; In Windows 11 2023 Update (Sun Valley 3 / 23H2) (WoW64 version) there was no 
new symbol

 ; This is list of symbols added in Windows 11 2024 Update (Hudson Valley / 
24H2) (WoW64 version)
 ; LsaIOpenPolicyWithCreds@24




--
Best regards,
LIU Hao

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to