Alexandre Julliard : kernel32: Move delay-load functions to kernelbase.
Alexandre Julliard
julliard at winehq.org
Thu Sep 26 15:51:19 CDT 2019
Module: wine
Branch: master
Commit: 0f5538b9e349fe7b5924b8c0b84ca8a917962701
URL: https://source.winehq.org/git/wine.git/?a=commit;h=0f5538b9e349fe7b5924b8c0b84ca8a917962701
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Sep 26 10:33:54 2019 +0200
kernel32: Move delay-load functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/kernel32.spec | 2 +-
dlls/kernel32/module.c | 17 -----------------
dlls/kernelbase/kernelbase.spec | 4 ++--
dlls/kernelbase/loader.c | 18 ++++++++++++++++++
4 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 4196582739..24a33e7600 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -356,7 +356,7 @@
@ stdcall DecodeSystemPointer(ptr) ntdll.RtlDecodeSystemPointer
@ stdcall DefineDosDeviceA(long str str)
@ stdcall DefineDosDeviceW(long wstr wstr)
-@ stdcall DelayLoadFailureHook(str str)
+@ stdcall -import DelayLoadFailureHook(str str)
@ stdcall DeleteAtom(long)
# @ stub DeleteBoundaryDescriptor
@ stdcall DeleteCriticalSection(ptr) ntdll.RtlDeleteCriticalSection
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c
index 24fb9e33f5..ad6956d1ce 100644
--- a/dlls/kernel32/module.c
+++ b/dlls/kernel32/module.c
@@ -1018,23 +1018,6 @@ FARPROC WINAPI GetProcAddress( HMODULE hModule, LPCSTR function )
return get_proc_address_wrapper( hModule, function );
}
-/***********************************************************************
- * DelayLoadFailureHook (KERNEL32.@)
- */
-FARPROC WINAPI DelayLoadFailureHook( LPCSTR name, LPCSTR function )
-{
- ULONG_PTR args[2];
-
- if ((ULONG_PTR)function >> 16)
- ERR( "failed to delay load %s.%s\n", name, function );
- else
- ERR( "failed to delay load %s.%u\n", name, LOWORD(function) );
- args[0] = (ULONG_PTR)name;
- args[1] = (ULONG_PTR)function;
- RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );
- return NULL;
-}
-
typedef struct _PEB32
{
BOOLEAN InheritedAddressSpace;
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index ac2bfe55da..c4fd8511b3 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -244,7 +244,7 @@
# @ stub DecodeRemotePointer
@ stdcall DecodeSystemPointer(ptr) ntdll.RtlDecodeSystemPointer
@ stdcall DefineDosDeviceW(long wstr wstr) kernel32.DefineDosDeviceW
-@ stdcall DelayLoadFailureHook(str str) kernel32.DelayLoadFailureHook
+@ stdcall DelayLoadFailureHook(str str)
# @ stub DelayLoadFailureHookLookup
@ stdcall DeleteAce(ptr long)
# @ stub DeleteBoundaryDescriptor
@@ -1344,7 +1344,7 @@
@ stdcall ResetEvent(long)
# @ stub ResetState
@ stdcall ResetWriteWatch(ptr long)
-@ stdcall ResolveDelayLoadedAPI(ptr ptr ptr ptr ptr long) kernel32.ResolveDelayLoadedAPI
+@ stdcall -import ResolveDelayLoadedAPI(ptr ptr ptr ptr ptr long) LdrResolveDelayLoadedAPI
# @ stub ResolveDelayLoadsFromDll
@ stdcall ResolveLocaleName(wstr ptr long)
@ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error
diff --git a/dlls/kernelbase/loader.c b/dlls/kernelbase/loader.c
index 34c8add910..9d0486d8a6 100644
--- a/dlls/kernelbase/loader.c
+++ b/dlls/kernelbase/loader.c
@@ -42,6 +42,24 @@ WINE_DEFAULT_DEBUG_CHANNEL(module);
***********************************************************************/
+/***********************************************************************
+ * DelayLoadFailureHook (kernelbase.@)
+ */
+FARPROC WINAPI DECLSPEC_HOTPATCH DelayLoadFailureHook( LPCSTR name, LPCSTR function )
+{
+ ULONG_PTR args[2];
+
+ if ((ULONG_PTR)function >> 16)
+ ERR( "failed to delay load %s.%s\n", name, function );
+ else
+ ERR( "failed to delay load %s.%u\n", name, LOWORD(function) );
+ args[0] = (ULONG_PTR)name;
+ args[1] = (ULONG_PTR)function;
+ RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );
+ return NULL;
+}
+
+
/****************************************************************************
* DisableThreadLibraryCalls (kernelbase.@)
*/
More information about the wine-cvs
mailing list