[PATCH] kernelbase: Implement LoadAppInitDlls

Alex Henrie alexhenrie24 at gmail.com
Fri Apr 17 00:54:50 CDT 2020


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47061
Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
According to MSDN,[1] this feature does not work on Windows 8 and later
when secure boot is enabled, so we don't need to bother with a real
implementation.

[1] https://docs.microsoft.com/en-us/windows/win32/dlls/secure-boot-and-appinit-dlls
---
 .../api-ms-win-core-appinit-l1-1-0.spec                  | 2 +-
 dlls/kernel32/kernel32.spec                              | 2 +-
 dlls/kernelbase/kernelbase.spec                          | 2 +-
 dlls/kernelbase/loader.c                                 | 9 +++++++++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/dlls/api-ms-win-core-appinit-l1-1-0/api-ms-win-core-appinit-l1-1-0.spec b/dlls/api-ms-win-core-appinit-l1-1-0/api-ms-win-core-appinit-l1-1-0.spec
index 7ace09e92c..e8f2acefad 100644
--- a/dlls/api-ms-win-core-appinit-l1-1-0/api-ms-win-core-appinit-l1-1-0.spec
+++ b/dlls/api-ms-win-core-appinit-l1-1-0/api-ms-win-core-appinit-l1-1-0.spec
@@ -1 +1 @@
-@ stub LoadAppInitDlls
+@ stdcall LoadAppInitDlls() kernel32.LoadAppInitDlls
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 01bfdd37f1..86575c2b99 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1044,7 +1044,7 @@
 @ stdcall LZStart()
 @ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection
 @ stdcall LeaveCriticalSectionWhenCallbackReturns(ptr ptr) ntdll.TpCallbackLeaveCriticalSectionOnCompletion
-# @ stub LoadAppInitDlls
+@ stdcall -import LoadAppInitDlls()
 @ stdcall -import LoadLibraryA(str)
 @ stdcall -import LoadLibraryExA( str long long)
 @ stdcall -import LoadLibraryExW(wstr long long)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 631e5c02c7..fe687c132c 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -920,7 +920,7 @@
 # @ stub LeaveCriticalPolicySectionInternal
 @ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection
 @ stdcall LeaveCriticalSectionWhenCallbackReturns(ptr ptr) ntdll.TpCallbackLeaveCriticalSectionOnCompletion
-# @ stub LoadAppInitDlls
+@ stdcall LoadAppInitDlls()
 # @ stub LoadEnclaveData
 @ stdcall LoadLibraryA(str)
 @ stdcall LoadLibraryExA( str long long)
diff --git a/dlls/kernelbase/loader.c b/dlls/kernelbase/loader.c
index 59b775b844..db36873e73 100644
--- a/dlls/kernelbase/loader.c
+++ b/dlls/kernelbase/loader.c
@@ -544,6 +544,15 @@ HMODULE WINAPI /* DECLSPEC_HOTPATCH */ LoadPackagedLibrary( LPCWSTR name, DWORD
 }
 
 
+/***********************************************************************
+ *      LoadAppInitDlls    (kernelbase.@)
+ */
+void WINAPI LoadAppInitDlls( void )
+{
+    TRACE( "\n" );
+}
+
+
 /****************************************************************************
  *	RemoveDllDirectory   (kernelbase.@)
  */
-- 
2.26.1




More information about the wine-devel mailing list