From bd17022c90466cf06392e9ffac905b8b0b7e2cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 31 Mar 2016 06:04:14 +0200 Subject: [PATCH] kernel32: Set ERROR_DLL_NOT_FOUND as error code in load_library for Win 9x compatibility. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Newer operating systems return ERROR_MOD_NOT_FOUND. Signed-off-by: Michael Müller Signed-off-by: Sebastian Lackner Signed-off-by: Alexandre Julliard --- dlls/kernel32/module.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c index dac66c1e361..badfe1d175b 100644 --- a/dlls/kernel32/module.c +++ b/dlls/kernel32/module.c @@ -948,7 +948,10 @@ static HMODULE load_library( const UNICODE_STRING *libname, DWORD flags ) if (nts != STATUS_SUCCESS) { hModule = 0; - SetLastError( RtlNtStatusToDosError( nts ) ); + if (nts == STATUS_DLL_NOT_FOUND && (GetVersion() & 0x80000000)) + SetLastError( ERROR_DLL_NOT_FOUND ); + else + SetLastError( RtlNtStatusToDosError( nts ) ); } done: HeapFree( GetProcessHeap(), 0, load_path );