Release Win16Lock when calling LoadLibrary32 from 16-bit code.

This commit is contained in:
Ulrich Weigand 1999-05-17 15:00:13 +00:00 committed by Alexandre Julliard
parent cb78164396
commit fdd6429632
2 changed files with 18 additions and 6 deletions

View file

@ -356,7 +356,7 @@ file krnl386.exe
449 pascal GetpWin16Lock() GetpWin16Lock16 449 pascal GetpWin16Lock() GetpWin16Lock16
450 pascal VWin32_EventWait(long) VWin32_EventWait 450 pascal VWin32_EventWait(long) VWin32_EventWait
451 pascal VWin32_EventSet(long) VWin32_EventSet 451 pascal VWin32_EventSet(long) VWin32_EventSet
452 pascal LoadLibrary32(str) LoadLibraryA 452 pascal LoadLibrary32(str) LoadLibrary32_16
453 pascal GetProcAddress32(long str) GetProcAddress32_16 453 pascal GetProcAddress32(long str) GetProcAddress32_16
454 equate __FLATCS 0 # initialized by BUILTIN_Init() 454 equate __FLATCS 0 # initialized by BUILTIN_Init()
455 equate __FLATDS 0 # initialized by BUILTIN_Init() 455 equate __FLATDS 0 # initialized by BUILTIN_Init()
@ -386,7 +386,7 @@ file krnl386.exe
479 pascal KERNEL_479(long) VWin32_EventSet # ??? 479 pascal KERNEL_479(long) VWin32_EventSet # ???
480 pascal16 _EnterWin16Lock() SYSLEVEL_EnterWin16Lock 480 pascal16 _EnterWin16Lock() SYSLEVEL_EnterWin16Lock
481 pascal16 _LeaveWin16Lock() SYSLEVEL_LeaveWin16Lock 481 pascal16 _LeaveWin16Lock() SYSLEVEL_LeaveWin16Lock
482 pascal LoadSystemLibrary32(str) LoadLibraryA # FIXME! 482 pascal LoadSystemLibrary32(str) LoadLibrary32_16 # FIXME!
483 stub MapProcessHandle 483 stub MapProcessHandle
484 pascal SetProcessDWORD(long s_word long) SetProcessDword 484 pascal SetProcessDWORD(long s_word long) SetProcessDword
485 pascal GetProcessDWORD(long s_word) GetProcessDword 485 pascal GetProcessDWORD(long s_word) GetProcessDword

View file

@ -1314,13 +1314,25 @@ DWORD WINAPI GetModuleFileNameW( HMODULE hModule, LPWSTR lpFileName,
/*********************************************************************** /***********************************************************************
* LoadLibraryEx32W (KERNEL.513) * LoadLibraryEx32W (KERNEL.513)
* FIXME
*/ */
HMODULE WINAPI LoadLibraryEx32W16( LPCSTR libname, HANDLE16 hf, HMODULE WINAPI LoadLibraryEx32W16( LPCSTR libname, HANDLE16 hf,
DWORD flags ) DWORD flags )
{ {
TRACE_(module)("(%s,%d,%08lx)\n",libname,hf,flags); HMODULE hModule;
return LoadLibraryExA(libname, hf,flags);
SYSLEVEL_ReleaseWin16Lock();
hModule = LoadLibraryExA( libname, hf, flags );
SYSLEVEL_RestoreWin16Lock();
return hModule;
}
/***********************************************************************
* LoadLibrary32_16 (KERNEL.452)
*/
HMODULE WINAPI LoadLibrary32_16( LPCSTR libname )
{
return LoadLibraryEx32W16( libname, 0, 0 );
} }
/*********************************************************************** /***********************************************************************