Module: wine Branch: master Commit: 0f5538b9e349fe7b5924b8c0b84ca8a917962701 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0f5538b9e349fe7b5924b8c0b...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Sep 26 10:33:54 2019 +0200
kernel32: Move delay-load functions to kernelbase.
Signed-off-by: Alexandre Julliard julliard@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.@) */